You need to enable JavaScript to run this app. VS Code运行报FileNotFoundError找不到文件,同代码IDLE运行正常如何修复
优惠活动
大模型
产品
解决方案
定价
更多

VS Code运行报FileNotFoundError找不到文件,同代码IDLE运行正常如何修复

报错核心原因

该问题并非文件丢失或路径书写错误,本质是不同运行环境的当前工作目录(CWD) 逻辑差异导致的:

  • IDLE运行Python脚本时,会自动将工作目录定位到当前加载的脚本所在文件夹,因此使用相对路径引用同目录资源时,可以正常匹配到目标文件。
  • VS Code的Python扩展默认运行配置,会把工作目录设置为VS Code当前打开的项目根路径。从报错信息可见,你运行代码时的终端启动路径为PS C:\Users\liqin>,并非脚本实际存放的c:\Users\liqin\Desktop\py\pygame\space invader\路径,因此程序会尝试从C:\Users\liqin\下查找alien.png文件,自然触发文件不存在的报错。
对应解决方法
  • 调整VS Code运行配置匹配IDLE运行逻辑
    打开VS Code设置面板,搜索Python > Terminal: Execute In File Dir并勾选该选项。配置生效后,每次运行Python脚本时,内置终端会自动将工作目录切换到当前运行脚本的所在文件夹,和IDLE的运行逻辑完全对齐。
  • 代码层面做路径兼容(推荐,全环境无适配问题)
    不再依赖运行环境的工作目录设置,通过脚本自身路径拼接资源的绝对路径,不管用什么运行环境都不会出现路径匹配错误,修改方式如下:
    import os
    # 读取当前脚本的绝对路径根目录
    BASE_PATH = os.path.dirname(os.path.abspath(__file__))
    # 拼接资源文件的完整绝对路径
    alien_img_full_path = os.path.join(BASE_PATH, 'alien.png')
    icon = pygame.image.load(alien_img_full_path)
    
  • 临时手动调整终端路径
    每次运行代码前,先在VS Code内置终端执行切换目录命令,进入脚本所在的文件夹后再启动Python脚本即可正常运行。该方法需要每次手动操作,不适合长期使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 22:06:04