Descomprimir zip
Gema Núñez Blázquez
gema_alf en yahoo.es
Mie Dic 3 13:16:11 CET 2003
Muchas gracias, me ha servido de mucho tu ayuda. Pero queria hacerte otra pregunta, veras es que antes de abrir el archivo Zip quiero validar si su contenido es correcto. Hay un metodo en la clase ZipFile que se llama testzip() que en teoria recorre cada uno de los archivos contenidos en el zip y calcula su CRC32, pero no estoy segura de que lo haga bien del todo porque estoy haciendo la prueba con un zip en el que he corrompido uno de los archivos que contiene aposta y no lo detecte.
¿alguna idea? como siempre muchas gracias
Perdona Santi creo que al responder te lo he enviado a tu email en lugar de a la lista.
Santi Camps <santi en zetadb.com> wrote:
> Hola, una preguntita rapida: ¿Sabeis si puedo descomprimir un archivo
> zip?se que con el modulo zipfile puedo obtener informacion del zip
> pero lo que yo quiero es descomprimirlos en disco, sin usar ningun
> programa externo (como winzip), por si sirve de algo esto debe correr
> en Windows.
>
En python se puede todo :-) Un ejemplo (file és el fichero zip,
claro):
from zipfile import ZipFile
unziped = ZipFile(file, 'r')
for file_path in unziped.namelist():
file_content = unziped.read(file_path)
O al revés, crearlo:
zip_result = ZipFile(file, 'a', 8)
# file_path: un path a un fichero existente
# file_name: el nombre con el que se guarda dentro del zip
zip_result.write(file_path, file_name)
Si lo que quieres es descomprimirlo en disco, añádele un par de linias
al primer ejemplo para hacer un open de cada fichero y escribir el
file_content. También te hará falta un if para detectar si es un
directorio y, en ese caso, crearlo. Yo lo tengo hecho pero en lugar de
descomprimir en disco "descomprime" en objectos zope. Si quieres copiar
código, cógete el http://zetadb.sourceforge.net y mira el múdulo
zetadb_openoffice.py
Saludos
--
>
> Santi Camps
> http://zetadb.sourceforge.net
---------------------------------
Yahoo! Sorteos
¡Ya puedes comprar Lotería de Navidad!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20031203/8b5950e8/attachment.html>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es