Descomprimir zip

Santi Camps santi en zetadb.com
Mar Dic 2 21:34:28 CET 2003


> 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




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