让我们定义一个简单的文件夹结构,如下所示:
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调试器进行调试时会抛出以下错误。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:
我正在使用带有Python 3.7.1 Anaconda版本的VSCode在Windows 10上。我知道文件路径类似于Linux路径,但是在正常运行时它可以工作。我在Python VSCode扩展的GitHub存储库中没有找到任何未解决问题。这是一个常见错误,还是我做错了什么?
此外,如果我定义
foo_path = ".\\..\\data\\foo.txt"
,它的行为与之前的相同。它在正常运行时运行良好,并在调试时给出相同的错误。如何在不使用额外包(如
os.path
)或使用完整文件路径的情况下修复此问题?编辑:我在Ubuntu 18.04中尝试了一下,结果表现相同。