[Python-es] zipfile Buffered

Juan de Dios Manjón Pérez juande en jdmanjon.net
Sab Ene 22 11:45:28 CET 2011


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.DEFAULT_BUFFER_SIZE¶

zin =zipfile.ZipFile('archive.zip','r')
|zout =zipfile.ZipFile('archve_new.zip','w')

foritem inzin.infolist():
     reader =zin.BufferedReader(item.filename,| BUFFER_SIZE|)
     writer = zout.BufferedWriter(||item.filename|, BUFFER_SIZE)
     chuck = reader.read(BUFFER_SIZE)
     while chuck:
         writer.write(chuck)
         chuck = reader.read(BUFFER_SIZE)
     reader.close()
     writer.close()

zin.close()
zout.close()


A ver si alguien tiene información de como implementarlo......

Saludos
Juande

El 21/01/2011 14:10, Juan de Dios Manjón Pérez escribió:
>
> BUFFER_SIZE = io.DEFAULT_BUFFER_SIZE¶
>
> zin =zipfile.ZipFile('archive.zip','r')
>
> |zout =zipfile.ZipFile('archve_new.zip','w')
>
> foritem inzin.infolist():
>     reader =zin.BufferedReader(item.filename,| BUFFER_SIZE|)
>     writer = zout.BufferedWriter(||item.filename|, BUFFER_SIZE)
>
> chuck = reader.read(BUFFER_SIZE)
> while chuck:
>      writer.write(chuck)
>      chuck = reader.read(BUFFER_SIZE)
>
> reader.close()
> writer.close()

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110122/3ff344a9/attachment.html>


Más información sobre la lista de distribución Python-es