@DF0rig
clay

Как записать в файл json именно таким образом?

(В первые задаю такой глупый вопрос)
Мне нужно записать в файл json данные с помощью python. Мне нужно чтобы на выходе файл к примеру был таким:
{
    "hww": 112, "s2s", 12
}


Вот что я делаю:
#
			with open('users.json','r') as jfr:
				jf_file = json.loads(jfr)
			jf_file.append({
				user_nickname: {
					"id": user_id,
					"password": user_password,
					"position": normal_position,
					"discord": user_discord_id,
					"user-class": 0,
					"AO-ver": normal_AO_ver,
					"balance": user_standart_balance
				}
			})
			with open('users.json','w') as jf:
				json.dump(jf_file, jf, indent=4)


Я уверен что делаю всё правильно, но не понимаю почему данные не записываются.
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Во-первых, json.loads принимает на вход строку или байты, а не объект файла. Поэтому надо делать jf_file = json.loads(jfr.read())

Во-вторых, json.loads возвращает словарь, а у словаря нет метода append, есть метод update. Если вместо append вписать update, будет работать.

В-третьих, внимательно с отступами - второй with не должен быть внутри первого.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@pr0l
JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript. Но при этом формат независим от JS и может использоваться в любом языке программирования.

У него есть свой формат записи данных, то что ты хочешь не является форматом json. Поэтому и ошибка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы