将PIL图像转换为字节,得到错误



我找到的解决方案说:

from PIL import Image
import io
img = "1.jpg"
image = Image.open(img)
# ... other processing...
buf = io.BytesIO()
image.save(buf, format="JPEG")
buf.get_value()

但我得到了错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: '_io.BytesIO' object has no attribute 'get_value'

如果我改为尝试:

buf.seek(0)

它只输出0。

这是我发现的仅有的两个建议,它们对我不起作用。我的版本有问题吗?我有Python 3.7.3和PIL 6.1.0

尝试:

>>> buf.seek(0) # Return to beginning of buffer
>>> data = buf.read() # Read all bytes until EOF

错误说明了一切,BytesIO对象没有名为get_value的属性。属性是getvalue()而不是get_value()。有关详细信息,请参阅文档https://docs.python.org/3/library/io.html#io.BytesIO

相关内容

  • 没有找到相关文章

最新更新