JSON.py удаляет ли мой файл json при запуске кода

#python #json

Вопрос:

Я помогаю своему учителю, создавая игру, в которой дети k-2 могут выучить свои пароли, я добавил этот файл json, чтобы создать сохранение для учителя, чтобы ему не пришлось повторно добавлять имена и пароли всех компьютеров… Но когда я запускаю свой код, файл json стирается, и я теряю весь свой код… К счастью, у меня были резервные копии, но я не могу стереть их для своего учителя.

Код на Python:

 import json  with open("accounts.json", "w") as f:  accountData = json.dumps(f)  type(accountData)  

JSON:

 { // not real names and passwords for security  "accounts": [  {  "id": "1",  "uname": "scarlett",  "pword": "k,",  "points": "0"  },  {  "id": "2",  "uname": "santiago",  "pword": "k,",  "points": "0"  },  {  "id": "3",  "uname": "harper",  "pword": "k,",  "points": "0"  }  ] }  

Комментарии:

1. Вы открываете файл в режиме записи (w). Это перезапишет файл (и сделает его пустым).

Ответ №1:

Это неправильное использование json.dump метода. Вот часть справки json.dump по python версии 3.7.6.

 Help on function dump in module json:  dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)  Serialize ``obj`` as a JSON formatted stream to ``fp`` (a  ``.write()``-supporting file-like object).  

Первым параметром должен быть dict объект, содержащий имена и пароли, и вы пропустили этот параметр. И параметр f должен быть на втором месте.

Комментарии:

1. Это по-прежнему не решает проблему, о которой упоминалось, т. Е. dump Файл по-прежнему перезаписывается, а данные теряются.