OSError:使用PIL / Image打开图像时无法识别图像文件

5

我正在尝试修复一些代码,这些代码之前是可以正常工作的。我在桌面上有一个PNG文件,我想使用PIL的Image模块打开它。

from PIL import Image
img_dir = r'C:\Users\DylanDB\Desktop\square.png'
img = Image.open(img_dir)

这是我更高级的代码的重新制作,它也会发生。错误是:
Traceback (most recent call last):
  File "C:/Users/DylanDB/Desktop/img_test.py", line 5, in <module>
    img = Image.open(img_dir)
  File "C:\Python34\lib\site-packages\PIL\Image.py", line 2317, in open
    % (filename if filename else fp))
OSError: cannot identify image file 'C:\\Users\\DylanDB\\Desktop\\square.png'

2
你应该做的第一件事是尝试在其他应用程序中打开图像文件,看看它是否正常工作。这将告诉你文件是否有效。如果无效,那么你可能就没有办法了。如果有效,那么你需要添加一个指向图像文件的链接,你需要将其上传到某个地方(比如Imgur),以便其他人可以下载它。 - martineau
2
我刚试着在Windows照片查看器中打开它,但无法打开。我删除并重新创建了该文件,现在似乎又可以正常工作了。感谢您的帮助。 - Dylan D.B
2个回答

4

我曾经遇到过同样的错误,原因是文件最近被创建并在使用Image.open()打开前没有正确关闭。在关闭文件f.close()后,它按预期工作了。


1
我发现这个文件是一个损坏的图像。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接