我有一个简单的程序,它接受用户的输入并将它们放入字典中。再之后,我想存储的数据为JSON文件(我搜索,发现只有JSON有用)在Json中存储字典的数据
例如
mydict = {}
while True:
user = input("Enter key: ")
if user in mydict.keys(): #if the key already exist only print
print ("{} ---> {}".format(user,mydict[user]))
continue
mn = input("Enter value: ")
app = input ("Apply?: ")
if app == "y":
mydict[user] = mn
with open ("mydict.json","a+") as f:
json.dump(mydict,f)
with open ("mydict.json") as t:
mydict = json.load(t)
每次用户输入键和值,我想将它们添加到字典,然后将该字典存储在json文件中。每次我想要读取该json文件时,都可以在程序中刷新该字典。
上面那些代码提出ValueError: Extra data:
。我知道错误发生,因为我每次都添加字典到json文件,所以有多个字典。但是,我怎样才能一次添加整个字典呢?我不想使用w
模式,因为我不想覆盖该文件,而我是Json中的新成员。
程序必须是无限的,我必须每次刷新字典,这就是为什么我找不到任何解决方案或尝试任何东西,因为我是Json的新手。
*您应该*要覆盖该文件,因为JSON文件格式不允许追加。 –
@SteveJessop所以我只需要使用'w'模式 – GLHF
只要写'如果用户在mydict:' –