VSCode中Python无法识别相对文件路径,使用绝对路径运行正常
问题原因
相对路径是基于Python运行时的*工作目录(Working Directory)*解析的,VSCode默认运行Python代码时的工作目录为你当前打开的工作区根文件夹。如果你的Input.txt存放在Python脚本的同级目录,而脚本所在目录不等于工作区根目录,就会触发FileNotFoundError报错。
解决方案
以下三种方案任选其一即可:
- 修改VSCode运行配置:打开VSCode设置页,搜索
python.terminal.executeInFileDir,勾选该选项。后续运行Python文件时会自动将工作目录切换到当前脚本所在文件夹,原有相对路径代码即可正常运行。 - 代码动态拼接绝对路径:无需修改编辑器配置,兼容性更强,适配所有运行环境:
import os # 获取当前脚本所在文件夹的绝对路径 base_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接得到目标文件的绝对路径 file_path = os.path.join(base_dir, "Input.txt") f = open(file_path, "r") - 移动文件到工作区根目录:将
Input.txt直接放到VSCode当前打开的工作区根目录下,原有相对路径代码即可正常读取。
验证方法
如果需要确认当前的工作目录基准,可以在代码中加入以下语句打印:
import os print(os.getcwd())
输出的路径就是当前Python解析相对路径的基准目录,可直接核对该目录下是否存在目标文件。
内容的提问来源于stack exchange,提问作者Hmm
相关产品推荐
相关产品推荐

