Как сохранить словарь в файл json и потом добавлять в него элементы?
У меня есть файл dict_bludo.json я сохраняю в него пустой словарь bludo_kbju = {}, как лучше всего добавлять в него ключ и значение?
import json
bludo_kbju = {}
# создаю файл и добавляю словарь в него
with open('dict_bludo.json', 'w+') as f:
json.dump(bludo_kbju, f)
# открываю файл, добавляю новое значение в словарь и сохраняю в файле
with open('dict_bludo.json', 'r+') as f:
bludo_kbju = json.load(f)
bludo_kbju['fff'] = 3
json.dump(bludo_kbju, f)
Потом когда я пытаюсь его открыть выдает ошибку(
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Нужно или закрывать файл после чтения и открывать заново на запись, либо перематывать файл на начало перед записью после чтения:
with open('dict_bludo.json', 'r+') as f:
bludo_kbju = json.load(f)
bludo_kbju['fff'] = 3
f.seek(0, 0) # <- ПЕРЕМОТКА НА НАЧАЛО
json.dump(bludo_kbju, f)
А у вас получается вот что в файле из-за того, что вы пишете после чтения в тот же файл без перемотки:
{}{"fff": 3}