Мы могли бы объединить модули zipfile.ZipFile
и PIL.Image.open
, чтобы прочитать изображение из сжатого файла. Однако мы можем получить сообщение об ошибке io.UnsupportedOperation: seek
после того, как мы позвоним PIL.Image.open
. Это относится к условию, что я прошел ZipExtFile
объект в PIL.Image.open
функции, как показано ниже:Преобразование изображений в сжатом файле, таком как zip-файл, в массив numpy в python
from zipfile import ZipFile
from PIL import Image
zipf = ZipFile(path, "r")
f = zipf.open("test.jpg")
img = Image.open(f)
Итак, как решить эту проблему?
Вы должны использовать более современные [io.BytesIO] (https://docs.python.org/3/library/io.html#io.BytesIO). Таким образом, ваш код будет работать на Python 3 и Python 2. –
Я тестировал BytesIO, и он тоже работал. Благодарю. –