首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VSCode调试模式不会将os.getcwd()设置为launch.json中指定的值

VSCode调试模式不会将os.getcwd()设置为launch.json中指定的值
EN

Stack Overflow用户
提问于 2020-12-29 14:02:03
回答 2查看 116关注 0票数 1

我正尝试在VSCode中调试我的python程序,在那里我得到了它的目录。当我从终端运行os.getcwd()时,我得到了正确的目录,但是当我使用VS Code调试选项时,它缺省为“默认”路径(在我的注册表变量中设置为C:\Users\Downloads)。

我已经创建了一个launch.json文件。

代码语言:javascript
运行
复制
{
    "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文件夹中。

我不明白为什么会发生这种情况,理想情况下,我希望能有一个解决方案。这个网站上关于这个主题的其他问题都不能提供帮助。

EN

回答 2

Stack Overflow用户

发布于 2021-02-05 11:12:29

对于那些将来可能会有同样问题的人,我找到了一个变通办法。(这在没有launch.json的情况下也有效。)

我手动将代码从:directory = os.getcwd()编辑为:

代码语言:javascript
运行
复制
dir_path = os.path.dirname(os.path.realpath(__file__))
os.chdir(dir_path)
directory = os.getcwd()

那么调试器就在当前的工作目录中,并且能够看到我需要它的文件。

票数 1
EN

Stack Overflow用户

发布于 2020-12-29 15:46:26

请使用与“launch.json”中类似的设置:

代码语言:javascript
运行
复制
"cwd": "${workspaceFolder}\\a_pythonscript",

当我的"main.py“在"demo_csv”文件夹中并且"lauch.json“使用"cwd": "${workspaceFolder}\\demo",

由于VS Code中的python调试功能是由Python扩展提供的,请尝试重新安装Python扩展。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65487959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档