【发布时间】:2018-08-12 13:39:25
【问题描述】:
我正在尝试使用 tkinter 模块打开一个窗口来显示图片,之前遇到过问题:_tkinter.TclError: couldn't recognize data in image 从那以后,我使用以下这个问题将我的代码重组为以下内容: How do I insert a JPEG image into a python Tkinter window? 在使用 python 3 时,我对代码进行了一些更改。 当我尝试执行代码时:我收到一条错误消息,指出不存在文件或目录。但是我使用以下代码进行检查: python open() method IOError: [Errno 2] No such file or directory: 以下是检查文件的结果:
>>> os.listdir()
['comments.py', 'Conan.txt', 'conditions.py', 'dateandtime.py', 'desktop.ini', 'dictionaries.py', 'exceptions.py', 'forging_functions.py', 'formatting.py', 'graphics.py', 'Hello.py', 'leapdays.py', 'logging.py', 'loop.py', 'modules.py', 'months.py', 'numbers.py.py', 'Opening_files.py', 'Picture.jpg', 'print_hello.py.py', 'tkintercode1.py', 'tkintercode2.py', 'user_input.py', 'Writing_file.py', '__pycache__']
>>> os.getcwd()
'C:\\Users\\Draco\\OneDrive\\Documents\\Programming'
>>> os.chdir(r'C:\\Users\\Draco\\OneDrive\\Documents\\Programming')
>>> open('Picture.jpg')
<_io.TextIOWrapper name='Picture.jpg' mode='r' encoding='cp1252'>
下面是我正在使用的代码:
import tkinter as tk
from tkinter import *
window = tk.Tk()
window.title("Random Image")
window.geometry("300x300")
window.configure(background='grey')
path = "C:\Draco\OneDrive\Documents\Programming\Picture.jpg"
img = tkinter.PhotoImage(Image.open(path))
panel = tk.Label(window, image = img)
panel.pack(side = "bottom", fill = "both", expand = "yes")
window.mainloop()
非常感谢您的帮助
【问题讨论】:
-
请显示确切的错误
-
Traceback(最近一次调用最后):文件“C:\Users\Draco\OneDrive\Documents\Programming\tkintercode2.py”,第 12 行,在
img = open(path) FileNotFoundError : [Errno 2] 没有这样的文件或目录:'C:\\Draco\\OneDrive\\Documents\\Programming\\Picture.jpg' -
这是我得到的错误,但我已经检查了 python 识别的路径,它似乎是这样,但是当我执行它时,我得到了上面的错误消息
-
另外我已经摆脱了 tkinter.PhotoImage(Image. 并让那段代码作为 path = open(path)