将PIL图像转换为字节,出现错误

问题描述 投票:0回答:2

我发现的解决方案说:

from PIL import Image
import io

img = "1.jpg"
image = Image.open(img)
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

python python-imaging-library python-3.7 bytesio
2个回答
1
投票

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


0
投票

尝试:

>>> buf.seek(0) # Return to beginning of buffer
>>> data = buf.read() # Read all bytes until EOF
© www.soinside.com 2019 - 2024. All rights reserved.