You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3中如何向字典列表添加新用户字典并保存至JSON?

用户账号创建与JSON存储解决方案

一、列表添加新用户的正确方法

你之前误用了update()方法——这个方法是用来修改单个字典的键值对,而要往用户列表中添加新用户,应该使用列表的append()方法。核心步骤:

  • 获取用户输入的用户名和密码
  • 生成包含username、password、faves(可设为空列表)的新用户字典
  • 调用列表的append()方法将新字典加入用户列表

二、结合JSON文件的完整实现

因为数据存储在JSON文件中,不能只在内存中操作列表,需要结合文件读写流程,json.dump()确实是将数据写入JSON文件的正确函数。完整代码示例如下:

import json

def create_user(username, password):
    # 读取JSON文件中的现有用户,文件不存在则初始化空列表
    try:
        with open('users.json', 'r', encoding='utf-8') as f:
            users = json.load(f)
    except FileNotFoundError:
        users = []

    # 检查用户名是否重复(可选优化)
    for user in users:
        if user['username'] == username:
            print("该用户名已被注册")
            return

    # 生成新用户字典
    new_user = {
        "username": username,
        "password": password,
        "faves": []  # 初始喜好为空,可根据需求改为用户输入
    }

    # 添加新用户到列表
    users.append(new_user)

    # 将更新后的列表写入JSON文件
    with open('users.json', 'w', encoding='utf-8') as f:
        json.dump(users, f, indent=4, ensure_ascii=False)

    print("账号创建成功")

# 获取用户输入并创建账号
username = input("请输入用户名:")
password = input("请输入密码:")
create_user(username, password)

关键说明

  • json.load():从JSON文件读取数据到内存中的列表
  • json.dump():将内存中更新后的列表写入JSON文件,indent=4让文件格式更易读,ensure_ascii=False支持中文用户名
  • 用户名重复检查:避免同一账号重复创建,可根据实际需求决定是否保留
  • 异常处理:应对首次运行时JSON文件不存在的情况,自动初始化空用户列表

内容的提问来源于stack exchange,提问作者SarthakA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 22:50:23