我找到的解决方案说:
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