Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 16, 2010 22:36:43

Paher
От:
Зарегистрирован: 2009-08-11
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

zipfile и file-like object

Доброго времени суток!

Получаю environ и передаю его конструктору zipfile

MyZip = zipfile.ZipFile(environ)


(environ - file-like объект.
Конструктор выдает ошибку, так как environ не имеет метода seek(). Приложение достаточно нагруженное, хочется свести время работы к минимуму. Можно ли как-нибудь обойтись без сохранения environ в промежуточный файл и его дальнейшей передачи конструктору ZipFile?



Офлайн

#2 Фев. 16, 2010 23:09:16

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

zipfile и file-like object

zipfile должен глянуть в конец файла чтобы увидеть таблицу файлов.
Можно создать cStringIO из wsgi.input - но это замена шила на мыло. Вместо записи в файловую систему будете держать zip в памяти. На больших архивах может быть неприятно



Офлайн

#3 Фев. 16, 2010 23:14:55

Paher
От:
Зарегистрирован: 2009-08-11
Сообщения: 66
Репутация: +  0  -
Профиль   Отправить e-mail  

zipfile и file-like object

т.е. без промежуточного файла не обойтись. жаль. спасибо за разъяснения.



Офлайн

#4 Фев. 17, 2010 00:22:30

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

zipfile и file-like object

Paher, а тебе обязательно zip?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version