Подушка выдает ошибку при сохранении с помощью StringIO - PullRequest
0 голосов
/ 15 октября 2018

В некоторых уроках было объяснено использование 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?


edit, примеры, где StringIO предлагается

...