VSCode中Python调用文件遇FileNotFoundError问题求助
问题描述
在VSCode中运行Python脚本时,尝试打开与脚本同目录的txt文件,出现FileNotFoundError。已确认文件与脚本路径一致,删除并重新创建文件后问题仍存在,但通过import os的方式操作该文件却能正常运行。
相关截图



解决方法
1. 确认运行时的当前工作目录
VSCode默认以工作区根目录作为Python脚本的运行当前路径,而非脚本所在的子目录。运行以下代码查看当前工作路径:
import os print(os.getcwd())
如果输出路径不是你的脚本和txt文件所在目录,这就是报错的核心原因。
2. 用脚本绝对路径拼接文件路径
直接通过__file__获取脚本的绝对路径,再拼接目标txt文件路径,确保不管当前工作目录是什么都能找到文件:
import os # 获取脚本所在目录的绝对路径 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接txt文件的完整路径 file_full_path = os.path.join(script_dir, "你的文件名.txt") with open(file_full_path, 'r', encoding='utf-8') as f: content = f.read() print(content)
3. 修改VSCode运行配置,固定工作目录
通过修改launch.json,让VSCode每次运行当前脚本时,自动将工作目录切换到脚本所在目录:
- 打开左侧「运行和调试」面板,点击「创建launch.json文件」,选择Python环境
- 在生成的配置中添加
"cwd": "${fileDirname}",最终配置如下:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "cwd": "${fileDirname}" } ] }
保存后,再次运行脚本即可直接用文件名打开同目录文件。
内容的提问来源于stack exchange,提问作者Raoul
相关产品推荐
相关产品推荐

