У меня есть простая программа, которая берет входные данные от пользователя и помещает их в dict. После того, как я хочу, чтобы хранить эти данные в JSON файл (я искал и нашел только JSON полезной)Хранение данных dict в 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)
Каждый раз, когда пользователь ввести ключ и значение, я хочу, чтобы добавить их в Словаре, после этого сохраните этот dict в json-файле. И каждый раз, когда я хочу прочитать этот json-файл, я могу обновить dict в программе.
Указанные выше коды ValueError: Extra data:
. Я понял, что ошибка произошла, потому что я каждый раз добавляю файл dict в json-файл, чтобы было более одного dict. Но как я могу добавить целый дикт сразу? Я не хотел использовать режим w
, потому что я не хочу перезаписывать файл, и я новичок в Json.
Программа должна быть бесконечной, и я должен обновлять dict каждый раз, поэтому я не мог найти никакого решения или попробовать что-либо, поскольку я новичок в Json.
Вы * должны * хотеть перезаписать файл, потому что формат файла JSON не позволяет добавлять. –
@SteveJessop Так что мне просто нужно использовать режим 'w' – GLHF
Просто напишите' if user in mydict: ' –