我发现的解决方案说:
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
错误说明了一切,BytesIO
对象没有名为get_value
的属性。该属性是getvalue()
,而不是get_value()
。有关更多信息,请参考文档https://docs.python.org/3/library/io.html#io.BytesIO
尝试:
>>> buf.seek(0) # Return to beginning of buffer
>>> data = buf.read() # Read all bytes until EOF