我正在使用Pillow的分支来代替PIL,在打开图像时不断收到以下错误信息:
OSError: 无法识别图像文件 <_io.BytesIO object at 0x103a47468>
我正在使用Python 3.4和没有安装PIL的virtualenv。
我已经尝试根据其他人遇到同样问题的解决方案来解决这个问题,但是那些解决方案对我没有起作用。以下是我的代码:
from PIL import Image
import io
# This portion is part of my test code
byteImg = Image.open("some/location/to/a/file/in/my/directories.png").tobytes()
# Non test code
dataBytesIO = io.BytesIO(byteImg)
Image.open(dataBytesIO) # <- Error here
图片存在于文件的初始开头,并转换为字节。这似乎对几乎所有其他人都有效,但我想不出为什么它会对我失败。
编辑:
dataBytesIO.seek(0)
尝试过后发现不起作用,因为我没有通过流来保存图像,而是仅仅使用数据实例化了BytesIO,因此(如果我想得正确的话)seek应该已经在0处。