我正尝试在VSCode中调试我的python程序,在那里我得到了它的目录。当我从终端运行os.getcwd()
时,我得到了正确的目录,但是当我使用VS Code调试选项时,它缺省为“默认”路径(在我的注册表变量中设置为C:\Users\Downloads)。
我已经创建了一个launch.json文件。
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "C:\\Users\\<User>\\Documents\\Project\\"
}
]
}
我在这里添加了"cwd",除了无论我在这里输入什么值,os.getcwd()
的值都会返回调试模式下的默认路径。我试过了:完整的路径,${workspaceFolder}
,${fileDirname}
,${fileWorkspaceFolder}
。
launch.json文件位于我的项目的.vscode文件夹中。
我不明白为什么会发生这种情况,理想情况下,我希望能有一个解决方案。这个网站上关于这个主题的其他问题都不能提供帮助。
发布于 2021-02-05 11:12:29
对于那些将来可能会有同样问题的人,我找到了一个变通办法。(这在没有launch.json
的情况下也有效。)
我手动将代码从:directory = os.getcwd()
编辑为:
dir_path = os.path.dirname(os.path.realpath(__file__))
os.chdir(dir_path)
directory = os.getcwd()
那么调试器就在当前的工作目录中,并且能够看到我需要它的文件。
发布于 2020-12-29 15:46:26
请使用与“launch.json
”中类似的设置:
"cwd": "${workspaceFolder}\\a_pythonscript",
当我的"main.py“在"demo_csv”文件夹中并且"lauch.json“使用"cwd": "${workspaceFolder}\\demo",
时
由于VS Code中的python调试功能是由Python扩展提供的,请尝试重新安装Python扩展。
https://stackoverflow.com/questions/65487959
复制相似问题