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()

_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a