Ошибка при загрузке данных JSON - не удается найти файл

Я пытался решить эту проблему, но сейчас мне нужна помощь. Я пытаюсь загрузить этот файл JSON (DBL) в Spyder IDE. Я сохранил файл данных JSON и файл Spyder на одной карте, чтобы прочитать файл JSON, но он не работает.

Мой код Python:

      import json 

file = open("dbl")

dbl = json.load(file)

print(dbl)

Каждый раз, когда я загружаю файл json на ту же карту, что и файл spyder.py, он не может распознать каталог файлов.

Я сохранил свой файл .py в той же папке, что и файл JSON.

Это сообщение об ошибке:

      FileNotFoundError: [Errno 2] No such file or directory: 'dbl.json'

5 ответов

Решение

Файл, по сути, не существует. Фактическое имя файла - dbl.json.json.

      import json 
file = open("dbl.json.json")
dbl = json.load(file)
print(dbl)

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

В случае, если вы хотите отладить, просто добавьте приведенный ниже код поверх своего скрипта, чтобы увидеть, присутствует ли файл или нет, и соответствующим образом измените скрипт.

      import os; 
print(os.listdir())

Вы будете использовать ".json" в пути к файлу. Например:

      file = open("dbl.json")

если dbl - это имя json-файла, вам также следует добавить расширение «.json». вы можете сделать это:

         
# Opening JSON file
f = open('dbl.json',)
   
# returns JSON object as 
# a dictionary
data = json.load(f)
   
# Iterating through the json
# list
for i in data:
    print(i)
   
# Closing file
f.close()```



У меня тоже есть эта проблема. Я предполагаю, что если вы используете метод сериализации, отличный от стандартного, для сериализации данных и сохранения их в файле Json, то, очевидно, у Json возникают проблемы с распознаванием этого файла, когда вы пытаетесь его открыть. К суффиксу это не имеет никакого отношения. Файл Json не обязательно должен иметь суффикс «json». Это связано с тем, что иногда люди используют индивидуальный подход и перезаписывают метод сериализации Json по умолчанию. Это нормально, если вы не пытаетесь сохранить сериализованные данные в файле. Файл, который вы читаете или открываете, вероятно, не сериализован «классическим» способом, и у Json есть эмитент, распознающий его как законный файл Json.

У меня сейчас эта проблема. Вероятно, это не имеет никакого отношения к имени файла или пути, по которому файл сохраняется или хранится.

Другие вопросы по тегам