You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重装Windows后Visual Studio Code运行Python脚本无法正确识别工作目录

VS Code Python运行时工作目录异常解决方案

该问题本质是重装系统后VS Code的Python扩展默认配置被重置,运行脚本时默认将工作区根目录作为当前工作目录(cwd),而非脚本自身所在的目录,因此用相对路径读取同目录文件时会触发文件不存在报错;而手动在命令行执行时通常会先切换到脚本所在目录再运行,因此运行正常。

可行解决方案

  • 方案1:修改运行调试配置(适合常用调试模式运行脚本的场景)

    1. 打开VS Code左侧「运行和调试」面板,点击创建launch.json文件,选择Python环境下的「Python文件」配置模板
    2. 在生成的配置块中添加参数 "cwd": "${fileDirname}",示例完整配置如下:
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Python: 当前文件",
                "type": "python",
                "request": "launch",
                "program": "${file}",
                "cwd": "${fileDirname}",
                "console": "integratedTerminal"
            }
        ]
    }
    
    1. 保存配置后重新运行脚本即可生效
  • 方案2:修改终端执行默认配置(适合直接右键运行脚本的场景)

    1. 按下快捷键Ctrl+,打开VS Code设置页,搜索配置项python.terminal.executeInFileDir
    2. 勾选该配置项,保存后后续所有在终端直接执行的Python脚本,都会自动切换到脚本所在目录后再运行
  • 方案3:代码层面兼容(适合需要跨设备分发、不依赖编辑器配置的场景)
    在脚本开头添加路径计算逻辑,所有文件读取都基于脚本自身所在的绝对路径拼接,不需要依赖运行时的工作目录:

    import os
    # 固定获取当前脚本所在的绝对目录,不受运行环境影响
    SCRIPT_ROOT = os.path.dirname(os.path.abspath(__file__))
    # 读取同目录下的test.txt示例
    target_file = os.path.join(SCRIPT_ROOT, "test.txt")
    with open(target_file, "r", encoding="utf-8") as f:
        print(f.read())
    

以上方案任选其一即可解决问题,无其他额外依赖。

内容的提问来源于stack exchange,提问作者Riggun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 16:18:03