Har*_*are 5 python python-imaging-library
我正在尝试加载我的.jpg文件并引发错误,但如果我再试一次,那就没关系!为什么??
我的代码和错误:
>>> import Image
>>> im1 = Image.open('/tmp/test.jpg')
>>> im1.load()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/site-packages/PIL/ImageFile.py", line 201, in load
raise IOError("image file is truncated (%d bytes not processed)" % len(b))
IOError: image file is truncated (0 bytes not processed)
>>> im1.load()
<PixelAccess object at 0x7feffc2a1170>
>>>
Run Code Online (Sandbox Code Playgroud)
谢谢!
abh*_*man 20
我有同样的问题,并提出了一个解决方案,我在这里讨论:https://stackoverflow.com/a/23575424/3622198.
在代码块之前的某个地方,只需添加以下内容:
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
Run Code Online (Sandbox Code Playgroud)
......你应该好好去!
编辑:看起来这有助于Pillow捆绑的PIL版本("pip安装枕头"),但可能不适用于PIL的默认安装
PIL使用延迟加载,这意味着在您尝试对其执行操作之前,实际上不会从文件中读取图像.第一个调用load是第一个操作,所以当检测到文件格式的问题时.第二次调用load不会再次读取文件,它只返回加载文件时缓存的信息.