如何解决FileNotFoundError?实现仅输入文件名而非长路径
解决VSCode中Python文件路径找不到的问题
核心原因
VSCode终端默认的工作目录和你的Python脚本所在目录不一致,导致你用相对文件名(比如googleplaystore.csv)时,Python会去终端当前工作目录找文件,而不是脚本所在目录,所以触发FileNotFoundError。
持久化解决方案(无需依赖AI工具)
方案1:修改VSCode默认工作目录设置
让VSCode运行脚本时自动把终端工作目录切换到脚本所在目录:
- 打开VSCode设置(快捷键
Ctrl+,) - 搜索
python.terminal.executeInFileDir - 勾选该选项并保存设置
之后每次运行Python脚本,终端都会自动切换到脚本所在目录,你直接写文件名(比如open("googleplaystore.csv"))就能正常访问文件。
方案2:手动配置launch.json(适合调试场景)
如果用VSCode的调试功能运行脚本,需要配置launch.json指定工作目录:
- 打开调试面板(快捷键
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}" // 关键配置:工作目录设为脚本所在目录 } ] }
保存后,调试运行脚本时,工作目录会自动切换到脚本所在路径,直接用文件名即可访问文件。
理解Copilot给出的代码原理
你之前拿到的代码是手动构建文件绝对路径的方式,原理很简单:
os.path.abspath(__file__):获取当前Python脚本的绝对路径(比如C:\projects\app\main.py)os.path.dirname(...):从脚本绝对路径中提取所在目录(比如C:\projects\app)os.path.join(...):把目录和文件名拼接成合法的绝对路径(比如C:\projects\app\googleplaystore.csv)
这种方式不受终端工作目录影响,适合跨环境运行的脚本,但如果只是在VSCode中日常开发,用前面两种设置方案更省心,不用每次写路径处理代码。
内容的提问来源于stack exchange,提问作者manfred731
相关产品推荐
相关产品推荐

