找不到文件,没有这样的文件或目录
from tkinter import *
from PIL import Image, ImageTk
import os
import sys
root = Tk() # Create the root (base) window
root.title("tkinter experiment")
root.iconbitmap("knuckes_-_Copy.ico")
canvas = Canvas(root, width=210, height=210, background="bisque")
canvas.pack(side="bottom", fill="both", expand=True)
img = open("knuckles.jpg", "r")
panel = Label(root, image = img)
panel.pack(side = "bottom", fill = "both", expand = "yes")
root.mainloop()
我希望文件“ knuckles.jpg”存储在img变量中,以便以后在窗口中使用,相反,终端会返回该文件不存在,即使该文件与的目录相同。 py文件。
错误日志:
Traceback (most recent call last):
File "Image.py", line 14, in <module>
img = open("knuckles.jpg", "r")
FileNotFoundError: [Errno 2] No such file or directory: 'knuckles.jpg'
答案 0 :(得分:0)
也许完整路径而不只是文件名就能解决您的问题。
答案 1 :(得分:0)
似乎在此代码中。您没有使用Image和ImageTk,或者您引用了错误的示例。
img = open("knuckles.jpg", "r")
正确的代码行应为
img = ImageTk.PhotoImage(Image.open("knuckles.jpg","r"))
您可以尝试更改和执行。我刚试过,它正在工作。
答案 2 :(得分:0)
与.py文件位于同一文件中并不重要-python不在此查找文件。它会在您当前的工作目录中查找文件,该文件可能与脚本的位置不同。
如果要查找与脚本相同的文件夹,则需要使用以下内容进行计算:
import os.path
...
script_dir = os.path.dirname(__file__)
image_file = os.path.join(script_dir, "knuckles.jpg")
您的代码中还有其他问题,例如tkinter不支持.jpg文件和img
参数未采用打开文件句柄,但以上内容回答了您所遇到的“找不到文件”问题询问。