#python #python-3.x #visual-studio #visual-studio-code #error-handling
#python #python-3.x #visual-studio #visual-studio-code #обработка ошибок
Вопрос:
Если у меня есть .py (вызывается p.py ) папка, в которой у меня есть мой код, и я хочу открыть файл, который представляет собой файл .json (называемый j.json), и я открыл его как папку рядом с p.py папка. Я хочу прочитать из j.json, чтобы сделать его словарем. Похоже, это не работает с этим :
import json
with open("j.json") as f:
data = json.load(f)
вывод: FileNotFoundError: [Errno 2] No such file or directory
Что я делаю не так?
Ответ №1:
Если p.py
и j.json
находятся на одном уровне, мы можем напрямую указать его как его имя вместо его абсолютного пути:
Откройте проводник, Просмотр -> Выберите Расширения имен файлов, чтобы проверить, правильно ли указано имя j.json
, или мы можем сказать, чтобы проверить j.json
, существует ли:
Ответ №2:
Попробуйте полный каталог path вместо только вашего имени файла. Но вы должны поставить r перед строкой. Например.
with open(r'path_to_file/j.json') as f:
data = json.load(f)
Ответ №3:
Когда вы указываете путь (который не является абсолютным), он относится к каталогу, в котором вы выполняете Python
Допустим, я нахожусь в своем терминале в каталоге C:/Users/Mathias/Desktop и я выполняю следующий код с помощью Python
with open("veryimportant.json", "r") as file:
for line in file:
print(line)
«veryimportant.json» будет относиться к моему рабочему каталогу (C:/Users/Mathias/Desktop ) таким образом, абсолютный путь будет C:/Users/Mathias/Desktop/veryimportant.json
Итак, что вы можете сделать?
У вас есть следующие варианты.
Вариант 1
Переместите файл j.json в тот же каталог, что и ваш p.py файл
Вариант 2
Обратитесь к j.json с абсолютным путем (выглядит примерно так «C:/path/to/file.json » сначала с вашей буквой диска)