0

在一些教程中解释了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 fork 中的行为发生了变化,并且错误消息没有更新?还是因为我使用带有io模块而不是StringIO模块的 Python 3 而有所不同?


编辑,StringIO建议的示例

4

0 回答 0