Linux Mint下Python 2.7在VS Code中无法打开text.txt文件的技术求助
解决Linux Mint下VS Code运行Python无法打开同目录文件的问题
嘿,这个问题我之前帮不少开发者踩过坑!核心原因其实是VS Code的工作目录设置和你终端运行时不一样——终端里你是在main.py所在的目录执行脚本,相对路径text.txt自然能找到,但VS Code默认可能把工作目录设成了整个项目的根目录,而非脚本所在的目录(哪怕你确认两者在同一目录,VS Code的工作目录逻辑可能还是和终端不一致)。
下面给你几个实用的解决办法,按优先级推荐:
方法1:修改VS Code的运行配置(一劳永逸适配当前项目)
- 打开VS Code,按下
Ctrl+Shift+D打开「运行和调试」面板 - 点击面板里的「创建launch.json文件」,选择你的Python环境
- 在生成的
launch.json配置中,找到configurations数组里的默认条目,添加一行"cwd": "${fileDirname}"——这行的作用是把运行时的工作目录强制设为当前打开脚本所在的目录。修改后的配置大概是这样:{ "version": "0.2.0", "configurations": [ { "name": "Python: 当前文件", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "cwd": "${fileDirname}" // 关键配置行 } ] } - 保存配置后重新运行脚本,应该就能顺利找到
text.txt了。
方法2:在代码中使用动态绝对路径(跨平台通用)
如果你不想折腾VS Code的配置,或者希望代码本身更健壮,推荐在代码里动态获取脚本所在目录,再拼接文件路径。这样不管是在终端、VS Code还是其他编辑器运行,都不会出问题。示例代码:
import os # 获取当前脚本的绝对路径所在目录 script_folder = os.path.dirname(os.path.abspath(__file__)) # 拼接text.txt的完整路径 file_path = os.path.join(script_folder, "text.txt") # 用这个路径打开文件 with open(file_path, 'r') as f: content = f.read() print(content)
方法3:手动切换VS Code集成终端的工作目录
如果只是临时测试,你可以打开VS Code的集成终端,手动输入cd命令切换到main.py所在的目录,再运行python main.py——不过这种方法每次运行都要手动操作,不如前两种高效。
内容的提问来源于stack exchange,提问作者user8506085
相关产品推荐
相关产品推荐

