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

VS Code中出现File not found error但Python IDLE可正常运行的解决方法

解决VS Code中Tkinter无法找到图片文件但IDLE可运行的问题

问题根源是VS Code和IDLE的默认工作目录不一致:IDLE运行脚本时,会自动把脚本所在文件夹作为当前工作目录;而VS Code默认可能以项目根目录或者你打开的文件夹作为工作目录,导致代码里的相对路径找不到图片文件。

下面是三种可行的解决办法:

  • 使用绝对路径直接指定
    把图片的完整路径写进代码,注意在Windows路径前加r避免转义字符问题:

    root_icon = PhotoImage(file=r"d:\New coding folder\Python projects\canvas\start_point1.png")
    
  • 动态拼接脚本所在目录的路径(推荐)
    用os模块获取脚本的绝对路径,再拼接图片文件名,这样不管在哪运行都能找到文件:

    from tkinter import *
    import os
    
    # 获取当前脚本所在文件夹的绝对路径
    script_folder = os.path.dirname(os.path.abspath(__file__))
    # 拼接图片的完整路径
    image_full_path = os.path.join(script_folder, "start_point1.png")
    
    root = Tk()
    root_icon = PhotoImage(file=image_full_path)
    root.iconphoto(False, root_icon)
    # 后续代码保持不变...
    
  • 修改VS Code的工作目录
    两种方式:

    1. 打开VS Code终端,手动切换到脚本所在文件夹再运行:
      cd d:\New coding folder\Python projects\canvas
      python main.py
      
    2. 配置launch.json,让VS Code运行时自动以脚本所在文件夹为工作目录:
      在项目的.vscode/launch.json中添加或修改配置:
      {
          "version": "0.2.0",
          "configurations": [
              {
                  "name": "Python: Current File",
                  "type": "python",
                  "request": "launch",
                  "program": "${file}",
                  "cwd": "${fileDirname}"
              }
          ]
      }
      

内容的提问来源于stack exchange,提问作者LAKSHYA SINGH CHAUHAN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:10:27