VSCode Python Debugger FileNotFoundError - PullRequest
       18

VSCode Python Debugger FileNotFoundError

0 голосов
/ 25 марта 2019

Давайте определим простую структуру папок, например:

project
+---code
|       main.py
|
\---data
        foo.txt

main.py:

foo_path = "./../data/foo.txt"

with open(foo_path) as f:
    s = f.read()
    print(s)

Этот код хорошо работает при нормальной работе с использованием команды python main.py, но выдаетСледующая ошибка при отладке с использованием VSCode Python Debugger.

Exception has occurred: FileNotFoundError
[Errno 2] No such file or directory: './../data/foo.txt'
  File "C:\Users\user\Workspaces\project\code\main.py", line 3, in <module>
    with open(foo_path) as f:

Я использую VSCode с Python 3.7.1 версии Anaconda в Windows 10. Я знаю, что путь к файлу похож на путь Linux, но он работает, покаработает нормально.Я не смог найти ни одной открытой проблемы в репозитории GitHub Python VSCode Extension .Это обычная ошибка или я что-то не так делаю?

Кроме того, если я определяю foo_path = ".\\..\\data\\foo.txt", она ведет себя так же, как и предыдущая.Он работает нормально и выдает ту же ошибку при отладке.

Как это исправить, не используя дополнительный пакет, такой как os.path или не указав полный путь к файлу?

РЕДАКТИРОВАТЬ: я пытался в Ubuntu18.04, и он ведет себя так же.

1 Ответ

1 голос
/ 25 марта 2019

Вы можете использовать опцию cwd в конфигурации отладки , но я бы посоветовал вам просто не указывать путь жестко и использовать pathlib или os.path для указания относительного файла в местоположение __file__ (я не совсем уверен, почему вы хотите избежать этих модулей).

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