Уведомления

Группа в Telegram: @pythonsu

#1 Июль 31, 2018 09:35:19

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Как оптимально извлечь из архива

Есть zip-контейнер с большим количеством изображений. Их надо выводить на экран.

 archive = zipfile.ZipFile('test.zip', 'r')
imgdata = archive.read('0030.png')
im=Image.open(imdata)
im.show()
не работает, потому что Image не принимает переменную, а хочет путь в явном виде. Как можно обойтись без извлечения изображения с сохранением? Если нельзя, то куда лучше сохранять, в файл или БД?

Офлайн

#2 Июль 31, 2018 10:54:17

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Как оптимально извлечь из архива

Распаковывай их во временный каталог и показывай. После закрытия программы очищай его.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Июль 31, 2018 14:52:43

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Как оптимально извлечь из архива

dnstuff
PIL>Image.open обратите внимание на тип принимаемых данных и на второе предложение. В модуле io вы наверняка найдете подходящее решение.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Авг. 1, 2018 09:23:29

dnstuff
Зарегистрирован: 2012-11-05
Сообщения: 113
Репутация: +  1  -
Профиль   Отправить e-mail  

Как оптимально извлечь из архива

Спасибо

 from PIL import Image
import io
import zipfile
archive = zipfile.ZipFile('test.zip', 'r')
imgdata = archive.read('0035.png')
f=io.BytesIO(imgdata)
im=Image.open(f)
im.show()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version