Python PIL 成像库 FileNotFoundError

Pam*_*gat 5 python python-3.x

我目前正在开发一个 tkinter (GUI) 项目,该项目接收用户的平均值并将其返回给他们。我希望使用 PIL 库在我的父窗口中显示图像。昨天这个库工作正常并在目录中找到我的图像,但今天它似乎无法找到目录,有人可以帮助我并指导我。我不知道为什么 PIL 库今天表现得很好,通常它工作正常。(我试过重新安装文件,但没有帮助!)。

这是我的代码

import tkinter
from PIL import Image, ImageTk

root = tkinter.Tk();

def showImg():
    load = Image.open('Desktop\example.jpg')
    render = ImageTk.PhotoImage(load)

    img = tkinter.Label(root, image = render)
    img.image = render
    img.pack()

button = tkinter.Button(root, text='Click me to see an image.', command=showImg).pack();

root.title('Imaging test');
root.geometry('450x450');
root.mainloop();
Run Code Online (Sandbox Code Playgroud)

这是我的错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
    return self.func(*args)
  File "C:\Users\Pamal\Desktop\Documents\Python Folder\Python [Learn]\imaging_example.py", line 7, in showImg
    load = Image.open('Desktop\example.jpg')
  File "C:\Python34\lib\site-packages\PIL\Image.py", line 2219, in open
    fp = builtins.open(fp, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'Desktop\\example.jpg 
Run Code Online (Sandbox Code Playgroud)

文本FileNotFoundError: [Errno 2] No such file or directory: 'Desktop\example.jpg'对我来说毫无意义。就在昨天,当我使用 PIL 库时,我能够在没有收到此错误消息的情况下正常显示图像,但今天我得到的只是此错误消息。我什至尝试将文件路径指定到 C:\ 但它不会接受它。请有人帮助我,我需要在我的 tkinter(GUI)父窗口中获取图像,但该库不允许。(PS 我试过重新安装 PIL,它没有一点改变,如果你知道任何 [易于使用] 成像库,请告诉我它们)。

你应该知道:

  • 我在 Python 3.4.2 上运行
  • Windows 8.1 机器
  • 我不是 Python 专家,所以请不要给我看一些复杂的代码。

下面是我收到的最近错误的图像。我已经为图像提供了一个特定的位置,但我收到了这个烦人的错误。也有人解释为什么即使我只输入了 1,为什么会有双 [ // ] 斜线。这会影响我的文件位置吗?我已经用黄色突出显示了它们,对不起,我只是想引起你的注意,而且我是新来的堆栈溢出所以 WOOPS :P 我的错误

是否与这一行有关: 仔细看看。

Ana*_*mar 4

从您的回溯来看,您的脚本似乎位于 -C:\Users\Pamal\Desktop\Documents\Python Folder\Python [Learn]\imaging_example.py

但是您正在尝试使用相对路径 - 访问内部(桌面文件夹)中的内容Desktop\example.jpg

除非您的脚本位于 - 内部,否则这将不起作用C:\Users\Pamal

最好给出绝对路径,例如 - C:\Users\Pamal\Desktop\example.jpg

代码 -

load = Image.open(r'C:\Users\Pamal\Desktop\example.jpg')
Run Code Online (Sandbox Code Playgroud)