您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

带有大图像的Python PIL“ IOError:图像文件被截断”

带有大图像的Python PIL“ IOError:图像文件被截断”

在这里回复有点晚,但是我遇到了类似的问题,我想分享我的解决方案。首先,这是此问题的非常典型的堆栈跟踪:

Traceback (most recent call last):
  ...
  File ..., line 2064, in ...
    im.thumbnail(DEFAULT_THUMBNAIL_SIZE, Image.ANTIALIAS)
  File "/Library/Python/2.7/site-packages/PIL/Image.py", line 1572, in thumbnail
    self.load()
  File "/Library/Python/2.7/site-packages/PIL/ImageFile.py", line 220, in load
    raise IOError("image file is truncated (%d bytes not processed)" % len(b))
IOError: image file is truncated (57 bytes not processed)

如果我们看一下第220行(在您的情况下是第201行,也许您正在运行的版本稍有不同),我们会看到PIL正在读取文件的块,并且它期望这些块将具有一定的大小。事实证明,您可以通过更改设置来请求PIL容忍被截断的文件(该块中缺少某些文件)。

代码块之前的某个位置,只需添加以下内容

from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True

…你应该很好。

编辑:看起来这对与Pillow捆绑在一起的PIL版本有所帮助(“ pip安装枕头”),但可能不适用于PIL的认安装

python 2022/1/1 18:41:51 有430人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶