Python PIL 图像库 FileNotFoundError

新手上路,请多包涵

我目前正在研究一个 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();

这是我的错误:

 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

文本 FileNotFoundError: [Errno 2] No such file or directory: ‘Desktop\example.jpg’ 对我来说毫无意义。就在昨天,当我使用 PIL 库时,我能够正常显示图像而没有收到此错误消息,但今天我得到的只是此错误消息。我什至尝试指定 C:\ 之前的文件路径,但它不会接受。请有人帮助我,我需要在我的 tkinter (GUI) 父窗口中获取图像,但这个库不允许。 (附言:我已经尝试重新安装 PIL,但一点也没有改变,如果您知道任何 [easy to use] 图像库,请告诉我它们)。

你应该知道:

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

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

它与这一行有关吗:仔细看看。

原文由 user4610150 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

从您的回溯中,您的脚本似乎位于 - 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')

原文由 Anand S Kumar 发布,翻译遵循 CC BY-SA 3.0 许可协议

我和你有同样的问题。几个月前我运行了一个运行良好的程序,但今天它出现了同样的错误。我所做的对我有用的是将目录更改为您的主目录。例如,之前,我从桌面上的文件夹(即 ~/Desktop/images/example.png )加载了一个图像,但我将目录更改为我的家庭环境(即 ~/home/pouyan/images/example.png ),并且它没有工作错误。

原文由 Pouyan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏