Папки в VS code

#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 » сначала с вашей буквой диска)