VSCode Python调试器FileNotFoundError

问题描述 投票:0回答:1

让我们定义一个这样的简单文件夹结构:

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

卖弄.朋友:

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

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

此代码在使用python main.py命令正常运行时运行良好,但在使用VSCode Python调试器进行调试时会抛出以下错误。

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:

我在Windows 10中使用VSCode和Python 3.7.1 Anaconda版本。我知道文件路径就像Linux路径,但它在正常运行时工作。我在the GitHub repo of Python VSCode Extension找不到任何未解决的问题。这是一个常见错误,还是我做错了什么?

此外,如果我定义foo_path = ".\\..\\data\\foo.txt",它的行为与前一个相同。它运行正常并在调试时给出相同的错误。

如何在不使用os.path等额外包或使用完整文件路径的情况下解决此问题?

编辑:我尝试在Ubuntu 18.04,它表现相同。

python debugging visual-studio-code
1个回答
1
投票

您可以使用cwd option in your debug configuration,但我建议您不要硬编码路径并使用pathlibos.path指定相对于__file__位置的文件(我不太清楚为什么要避免这些模块) 。

© www.soinside.com 2019 - 2024. All rights reserved.