@kirillinyakin

Пытаюсь сделать key-value хранилище, но json выдает ошибку.В чем ошибка?

storage_path = os.path.join(tempfile.gettempdir(), "storage_data.json")
with open(storage_path, 'a+', encoding='utf8') as f:
    tempData = json.loads(f.read())

Есть вот такое код, но при попытке запуска, Python выдает ошибку json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 3
@bbkmzzzz
loads - загружает строку, для загрузки файла есть load
Ответ написан
@bacon
А зачем вам "a+"? Нет смысла добавлять в такой файл. Только читать и полностью перезаписывать.
Ну и дебаг никто не отменял, что вам помешало посмотреть что f.read() вам вернул.
Ответ написан
@o5a
Открытие в режиме "a" (append) устанавливает позицию в конец файла, соответственно считывание с конца файла возвращает пустую строку. Или открывайте в другом режиме ("r"), или перематывайте позицию в начало с помощью f.seek(0)
Для какой вообще цели было использовать именно этот режим?
Ответ написан
Ваш ответ на вопрос

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

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