Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Visual Studio代码调试模式可识别文件路径,但正常模式会显示;没有这样的文件或目录;?_Python_Visual Studio Code - Fatal编程技术网

Python Visual Studio代码调试模式可识别文件路径,但正常模式会显示;没有这样的文件或目录;?

Python Visual Studio代码调试模式可识别文件路径,但正常模式会显示;没有这样的文件或目录;?,python,visual-studio-code,Python,Visual Studio Code,在Python脚本中,我将文件路径设置如下: train_dir = '../dataset/train' 如果我使用VS代码调试器运行代码文件,代码运行正常,文件路径被识别,其中的文件被读取。但是,如果在没有调试器的情况下运行相同的代码(通过右键单击并点击“在终端中运行Python文件”),则会出现“无法打开文件([Errno 2]没有这样的文件或目录:”错误(关于目录中的文件) 这里发生了什么,调试器识别出了相对文件路径,但仅仅正常运行它不会识别出相对文件路径?调试器是否从当前工作目录启动

在Python脚本中,我将文件路径设置如下:

train_dir = '../dataset/train'
如果我使用VS代码调试器运行代码文件,代码运行正常,文件路径被识别,其中的文件被读取。但是,如果在没有调试器的情况下运行相同的代码(通过右键单击并点击“在终端中运行Python文件”),则会出现“无法打开文件([Errno 2]没有这样的文件或目录:”错误(关于目录中的文件)


这里发生了什么,调试器识别出了相对文件路径,但仅仅正常运行它不会识别出相对文件路径?调试器是否从当前工作目录启动,但右键单击并在终端中运行代码选项不会识别出相对文件路径?

您可以使用以下小片段检查每次调用中的工作目录:

import os
print(os.path.abspath('.'))

它可能会为您提供所需的信息。

谢谢!这有助于解决在调试模式下运行和在两个不同目录下从集成终端启动的问题。调试模式自动从代码文件的位置开始,而标准模式从设置的当前工作目录开始。通过使用VS code的资源管理器打开包含代码的文件夹,我能够复制调试模式的起始目录(与代码文件相同的目录):