You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code调试Python报FileNotFoundError找不到本地文件问题咨询

问题核心原因

Python的相对路径完全基于进程启动时的工作目录(cwd)解析,和脚本本身的存储位置无关。你配置cwd后仍报错,本质是VS Code当前打开的工作区根目录不是my_proyect,导致${workspaceFolder}变量拼接出的路径不符合预期,最终启动进程的工作目录没有落到my_code.py所在的my_folder层级。
你之前在Lambda里原写法能正常运行,是因为Lambda启动Python进程时的默认cwd就是代码包内my_code.py所在的目录,刚好匹配相对路径的解析逻辑。靠硬改cwd、硬写不同相对路径适配环境的方式鲁棒性极差,换启动目录、换部署环境就会再次报错。

最优方案(本地调试、AWS Lambda全兼容,无需调整环境配置)

不要依赖cwd解析相对路径,直接基于当前脚本的存储位置动态拼接目标文件的绝对路径,这种写法不受启动工作目录影响,两个环境都能正常运行,不需要为了适配环境反复改代码。

  • os模块实现(兼容所有Python3版本)
    替换原有读文件的代码即可:
import os
import pandas as pd

# 获取当前执行脚本my_code.py所在的目录绝对路径
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接csv文件路径,和原有相对路径的目录逻辑完全一致
csv_file_path = os.path.join(script_dir, "data", "my_data.csv")
my_data = pd.read_csv(csv_file_path)
  • pathlib实现(Python3.4+支持,写法更简洁)
from pathlib import Path
import pandas as pd

csv_file_path = Path(__file__).parent / "data" / "my_data.csv"
my_data = pd.read_csv(csv_file_path)
不改代码的纯配置修复方案

如果不想调整业务代码,先确认VS Code打开的工作区根目录是my_proyect文件夹(即资源管理器侧边栏直接能看到my_folder目录的层级),你当前launch.json里的cwd配置逻辑是正确的:工作区根为my_proyect时,${workspaceFolder}/my_folder会精准指向my_code.py所在目录,此时data/my_data.csv的相对路径可以正常解析。
如果不想调整工作区,也可以直接把cwd字段写为my_folder的本地绝对路径(比如/home/my_user/my_company/my_proyect/my_folder),但这种配置只对你本地设备有效,项目同步到其他设备后会失效,不推荐长期使用。

内容的提问来源于stack exchange,提问作者ambigus9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 17:42:23