其他文件夹中的Python图像

时间:2015-06-17 17:58:02

标签: python tkinter

我使用openweathermap.org API在python中有一个天气程序。主文件位于目录中,但我在Tkinter窗口中想要的图像位于image/目录中。目前,我已将图像放入我的python脚本的文件夹中,但内部有很多图像,所以它看起来不整洁。我通过以下方式将图像调到窗口上:

imageURL = str(icon + ".gif")
photo = PhotoImage(file=imageURL)
w = Label(window, image=photo)
w.photo = photo

但是当我尝试使用时:

imageURL = str("images/" + icon + ".gif")

它只返回错误:

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1470, in __call__
return self.func(*args)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 531, in callit
func(*args)
File "H:\Weather statioN\weather.py", line 55, in init
photo = PhotoImage(file=imageURL)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 3306, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 3262, in __init__
self.tk.call(('image', 'create', imgtype, name,) + options)
TclError: couldn't open "09d.gif": no such file or directory

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

追溯提到你仍然使用icon + '.gif' -

self.tk.call(('image', 'create', imgtype, name,) + options)
TclError: couldn't open "09d.gif": no such file or directory

检查您是否错过了添加代码,或者错过了将图像复制到之前测试的图像目录中。

此外,建议使用os.path库使用当前操作系统的路径分隔符自动连接目录路径,这将使脚本平台独立。

import os.path
os.path.join('images',icon + '.gif')

您可以根据自己的情况使用上述代码。