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

Python Tkinter加载download.gif报无此文件或目录错误如何解决

报错原因

这个_tkinter.TclError: couldn't open "download.gif": no such file or directory报错的核心是Tkinter在执行加载图片的逻辑时,按照你传入的文件路径找不到对应文件,常见触发场景有3种:

  • 代码里用了相对路径download.gif,但这个图片文件没有放在运行运行Python脚本时的当前工作目录下(很多人会误以为相对路径是相对于脚本文件所在位置,实际是相对于你执行python xxx.py命令时所在的终端路径,IDE运行时也可能自动把工作目录设成别的位置)
  • 文件名不匹配:比如实际文件后缀是大写.GIF(Linux、macOS系统文件名大小写敏感)、开了系统隐藏扩展名的功能导致你以为文件叫download.gif实际是download.gif.png/download.gif.jpg、文件名拼写错误
  • 对应位置根本没有这个图片文件,你只在代码里写了文件名,但没有把download.gif存到本地
修复方法

按以下步骤排查修复即可:

  1. 先确认文件本身存在、命名完全正确
    • 关闭系统的「隐藏已知文件类型扩展名」选项,确认目标文件确实是名为download.gif的GIF格式图片,不要把jpg、webp等其他格式的图片强行改后缀凑数,PhotoImage原生不支持这类格式,就算路径对也会触发其他报错
    • 注意文件名大小写,非Windows系统下download.gif和download.GIF是两个完全不同的文件
  2. 不要依赖相对路径加载图片,推荐基于脚本所在位置拼接图片绝对路径,避免工作目录变化导致的找不到文件问题。如果你的download.gif和Python脚本放在同一个文件夹下,直接用下面的修正代码即可:
from tkinter import *
import os

# 自动获取当前脚本文件所在的绝对目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接得到图片文件的完整绝对路径
icon_full_path = os.path.join(script_dir, "download.gif")

window = Tk()
icon = PhotoImage(file=icon_full_path)
window.iconphoto(True, icon)

window.mainloop()
  1. 如果图片不和脚本放在同目录,直接把icon_full_path替换成你图片的完整绝对路径即可:Windows系统路径写法类似C:\\my_project\\assets\\download.gif,macOS/Linux路径写法类似/home/xxx/my_project/assets/download.gif。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 15:18:20