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

VS Code运行Python程序报路径错误无法调试 直接运行可正常执行

问题原因

该报错是不同运行场景下工作目录不一致导致的:

  • VS Code运行代码时,默认以你打开的项目根文件夹作为工作目录,若你的Python脚本存放在根目录下的cps子文件夹内,直接写相对路径resources/icon/CPS.ico时,VS Code会尝试从根目录下找资源,自然找不到;加上cps/前缀后路径匹配,所以仅在VS Code中生效
  • 直接双击运行Python脚本时,工作目录就是脚本本身所在的cps文件夹,直接写resources/icon/CPS.ico即可匹配到正确路径,加cps/前缀反而会指向不存在的目录,因此运行失效

解决方案

不要使用硬编码的相对路径,改为基于当前脚本所在目录拼接绝对路径即可,修改步骤如下:

  1. 在导入模块后的代码开头,新增一行代码获取脚本所在的根目录:
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
  1. 将代码中所有的资源路径(包括图片、音频、history.txt、HS.duffy等文件路径),都改为和BASE_DIR拼接的形式,示例:
# 原写法
root.iconbitmap("resources/icon/CPS.ico")
sloth = ImageTk.PhotoImage(file="resources/animals/sloth.png")
mixer.music.load("resources/music/dj.mp3")
if os.path.isfile('history.txt'):

# 修改后的写法
root.iconbitmap(os.path.join(BASE_DIR, "resources/icon/CPS.ico"))
sloth = ImageTk.PhotoImage(file=os.path.join(BASE_DIR, "resources/animals/sloth.png"))
mixer.music.load(os.path.join(BASE_DIR, "resources/music/dj.mp3"))
if os.path.isfile(os.path.join(BASE_DIR, 'history.txt')):

所有路径都按上述规则修改后,两种运行场景下都会自动基于脚本所在目录查找资源,不会再出现路径找不到的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:24:03