Задать вопрос
@DF0rig
clay

Я хочу написать команду JSON python, но я встречаюсь с ошибкой. Как это исправить?

Я хочу сделать команду, которая при определённом действии записывала в json файл новую строку с данными пользавателя (именно добавляла, не заменяла). Вот мой код:

data = """[
		{"name": user_nickname,
		"password": rpass,
		"position": normal_position
		}
	]"""
	with open('users.json','r+') as f:
		json.dump(data, f)
	with open('users.json', 'r+') as fa:
		data = json.load(fa)
		data["name"] = str_user_nickname
		data["password"] = rpass
		data["position"] = normal_position
		f.seek(0,0)
		json.dump(data, fa)
  • Вопрос задан
  • 142 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
1.Если при попытке запуска кода появляется ошибка, то ее нужно привести в текстовом виде.
2.Вы уверены, что data в вашем коде должна быть строкой, а не списком?
I.Если да, то зачем вы пытаетесь использовать на ней json.dump? Данный метод используется, чтобы конвертировать структуру данных в корректный json-файл путем преображения этой самой структуры в строку и записи в файл.
II.Если data все-таки должна быть списком, то почему вы пытаетесь обратиться к данным по ключу? Списки поддерживают только обращение по индексу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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