【发布时间】:2022-11-25 17:25:12
【问题描述】:
我正在尝试根据用户输入填充一个 JSON 文件。 users.json 文件最初是空的,我可以注册第一个用户("Doe_Joh")。问题是当我运行程序并注册第二次使用时。里面的数据被数据替换了。我期望的是增量保存数据。我怎样才能做到这一点?
这是我的代码。
import json
class User:
def register():
first = input("Name: ")
last = input("Last: ")
username = input("Username: ")
email = input("Email: ")
user_data = { username: [ {
"fname": first,
"lname": last,
"username": username,
"email": email
}
]
}
with open("users.json", "w") as outfile:
json.dump(user_data, outfile, indent=4)
user1 = User
user1.register()
【问题讨论】:
-
您可能希望以追加模式而不是写入模式打开文件
open("users.json", "a")。但是整个数据不会是 json,而是每个用户一个接一个的 json。如果您想要单个 json,则必须读取整个文件并在将新用户添加到数据后再次写入。 -
你好@Jay,谢谢你的回答。我可能更喜欢最后一个选项。但是 json.dumb 在那种情况下会有用吗?