He estado mirando el código de la implementación de zipfile de python3
y sinceramente, no se si habrá alguna manera simple de implementar la
escritura de un stream, tal como lo planteas.
Sin embargo con gzip eso cambia, pero supongo que no es el caso que interese.
Siento no ser de mucha mas ayuda.
Conseguido!!
A partir de esta información:
http://stackoverflow.com/questions/297345/create-a-zip-file-from-a-generator-in-python/2734156#2734156
He creado esta implementación, os la dejo por si alguno le interesara:
import time, shutil
from zipfile import ZipFile, ZipInfo, ZIP_DEFLATED
impo
Andrey,
también he llegado al punto que comentas,
el problema que tengo ahora es para escribir el chuck, ya que
ZipFile.open(name, mode='r', pwd=None) no admite mode='w'.
El unico metodo ZipFile.writestr(zinfo_or_arcname, bytes) que he
encontrado para escribir requiere que se escriba TODO de
http://docs.python.org/py3k/library/zipfile.html
ZipFile.open(name, mode='r', pwd=None)
Extract a member from the archive as a file-like object (ZipExtFile). name
is the name of the file in the archive, or a ZipInfo object. The mode
parameter, if included, must be one of the following: 'r' (the de
Creo que lo que Juan de Dios pregunta es si es posible escribir un
código como el que él cita o si existe un equivalente. Por eso lo
etiquetó como "sólo como muestra".
El problema es que Zipfile tiene en efecto el método read(), pero en el
manual no dice que acepte un argumento que
indique cuá
El día 22 de enero de 2011 11:45, Juan de Dios Manjón Pérez
escribió:
> Mi objetivo es manipular ficheros zip sin tener que extraer a un temp y sin
> tener que leer todo de golpe con readstring = zin.read(item.filename)
>
Bueno, en el ejemplo que muestras, no estas leyendo todo de golpe, si
no qu
Mi objetivo es manipular ficheros zip sin tener que extraer a un temp y
sin tener que leer todo de golpe con readstring = zin.read(|item.filename)|
Y el motivo es claro: quiero trabajar con ficheros zip con entradas de
gran tamaño.
Se me fué la indentación en el for:
BUFFER_SIZE = io.DEFAUL
He estado googleando
http://www.google.com/search?q=python+zipfile+stream+raw como leer y
escribir en un zip usando streams o raw
Busco algo parecido a este ejemplo: (solo como muestra)
BUFFER_SIZE = io.DEFAULT_BUFFER_SIZE¶
zin =zipfile.ZipFile('archive.zip','r')
|zout =zipfile.ZipFile('arc