枕头在使用StringIO保存时抛出错误

时间:2018-10-15 13:47:06

标签: python-3.x python-imaging-library stringio bytesio

在某些教程中,解释了如何在枕头保存方法中使用StringIO。但是当我使用以下测试代码时:

from PIL import Image
from io import StringIO, BytesIO

photo = Photo.objects.get(pk=1)
bytes = BytesIO()
string = StringIO()

image = Image.open(photo.image)
image.save(string, 'PNG')

然后我得到错误:

  

预期为字符串参数,为“字节”

但是当我像这样使用BytesIO时:

image.save(bytes, 'PNG')

它工作正常。这很奇怪,因为错误消息说应该是字符串,而字节是错误的,但是显然相反是正确的。这也与我在阅读教程时获得的信息相反。

也许save()的行为在Pillow分支中已更改,并且错误消息未更新?还是因为我将Python 3与io模块而不是StringIO模块一起使用而导致了?


编辑,例如建议StringIO的示例

0 个答案:

没有答案