@DF0rig
clay

Почему не записываются данные в файл json python?

Я пишу команду, которая записывает данные об пользователе в json файл. Требуется, чтобы каждый новый массив в файле назывался именем пользователя.
Для начала я читаю файл, после этого обновляю его, и затем записываю в него данные. Вот что я делаю:
with open('users.json','r') as jfr:
	jf_file = json.load(jfr)
user_info = {
	user_nickname: {
		"id": user_id,
		"password": user_password, 
		"pos": normal_position}
	}
jf_file.append(user_info)
with open('users.json', 'w') as jf:
	json.dump(jf_file, jf, indent=4)


Но в файл json ничего не записывается, но я ожидал увидеть:
{
	user_nickname: {
		"id": user_id,
		"password": user_password, 
		"pos": normal_position}
	}

И с каждым новым пользователем файл обновлялся:
{
	user_nickname: {
		"id": user_id,
		"password": user_password, 
		"pos": normal_position}
	},
 user_nickname: {
		"id": user_id,
		"password": user_password, 
		"pos": normal_position}
	}
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
@DF0rig Автор вопроса
clay
Решение проблемы очень просто. Я прочитал файл как json, а не как словарь python:
with open('users.json', 'r') as file:
 jf_file_e= file.read()
jf_file = json.loads(capitals_json)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
seven5674
@seven5674
Старый я уже что бы что-то в себе менять
ну так тебе же явно в ошибке написано что
'dict' object has no attribute 'append'
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы