Duplicar posible:
How do I zip the contents of a folder using python (version 2.5)?¿Mejor manera de comprimir archivos en Python (comprimir todo un directorio con un solo comando)?
Supongamos que tengo un directorio: /home/user/files/
. Este directorio tiene un montón de archivos:
/home/user/files/
-- test.py
-- config.py
que quiere comprimir este directorio utilizando ZipFile
en Python. ¿Necesito loop through the directory and add these files recursively, o es posible pasar el nombre del directorio y la clase ZipFile agrega automáticamente todo lo que está debajo?
Al final, me gustaría tener:
/home/user/files.zip (and inside my zip, I dont need to have a /files folder inside the zip:)
-- test.py
-- config.py
Desde os.walk produce todo el contenido del directorio - haciendo la recursividad para usted - parece como un trivial lazo. ¿Qué estás tratando de optimizar? ¿Líneas de código? No veo cómo. ¿Hora? No es posible - Zip toma el tiempo que toma. ¿Qué problema estás teniendo? –
Solo quiero comprimir una carpeta que puede tener carpetas vacías, sin codificar un montón de líneas para algo que mi máquina Linux puede hacer con un solo comando usando la utilidad zip y el módulo de subproceso. –