如何修复VSCode与控制台运行Python时工作目录不一致问题
解决VSCode与控制台Python工作目录不一致的问题
方法1:通过脚本自身路径拼接文件(推荐)
不管运行环境的工作目录是什么,直接基于脚本所在位置定位数据文件,彻底避免路径问题。代码示例:
import os # 获取当前脚本所在文件夹的绝对路径 script_folder = os.path.dirname(os.path.abspath(__file__)) # 拼接同文件夹内的数据文件路径 data_path = os.path.join(script_folder, "你的数据文件名.ext")
原理:__file__变量保存当前脚本的路径,通过os.path工具处理后,就能得到脚本所在文件夹的绝对路径,再用os.path.join拼接数据文件名,确保无论在哪运行都能找到目标文件。
方法2:修改VSCode运行配置,统一工作目录
让VSCode运行脚本时自动切换到脚本所在文件夹,和控制台运行环境保持一致:
- 打开VSCode的「运行和调试」面板(快捷键Ctrl+Shift+D)
- 点击「创建launch.json文件」,选择Python环境
- 在生成的launch.json配置中,添加
"cwd": "${fileDirname}",示例配置如下:
{ "version": "0.2.0", "configurations": [ { "name": "Python: 当前文件", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "cwd": "${fileDirname}" } ] }
之后运行脚本时,VSCode的工作目录会自动设为脚本所在文件夹,直接用"你的数据文件名.ext"这种相对路径即可访问同文件夹文件。
方法3:手动切换VSCode终端的工作目录
打开VSCode的终端,先切换到脚本所在文件夹再运行脚本:
cd Folder1 python test.py
这种方式和你在系统控制台运行的逻辑完全一致,工作目录会自动设为脚本所在的Folder1。
内容的提问来源于stack exchange,提问作者ADude
相关产品推荐
相关产品推荐

