Python – Crear archivo ZIP

En este ejemplo comprimiremos cuatro archivos de texto, tu puedes hacerlo con cualquier archivo que desees:




En nuestro código importamos zipfile.

import zipfile
try:
    import zlib
    compression = zipfile.ZIP_DEFLATED
except:
    compression = zipfile.ZIP_STORED

zf = zipfile.ZipFile("/home/decodigo/Documentos/python/archivos/archivo_ejemplo.zip", mode="w")

try:
    zf.write("/home/decodigo/Documentos/python/archivos/archivo1.txt", compress_type=compression)
    zf.write("/home/decodigo/Documentos/python/archivos/archivo2.txt", compress_type=compression)
    zf.write("/home/decodigo/Documentos/python/archivos/archivo3.txt", compress_type=compression)
    zf.write("/home/decodigo/Documentos/python/archivos/archivo4.txt", compress_type=compression)
finally:
    zf.close()

Las líneas de código que debes modificar son las siguientes:

Primero debes especificar que el archivo estará comprimido, importando el módulo zlib y definiendo el tipo de almacenamiento en el ZIP, usando compression = zipfile.ZIP_DEFLATED.

try:
    import zlib
    compression = zipfile.ZIP_DEFLATED
except:
    compression = zipfile.ZIP_STORED

Después creamos el archivo ZIP de ejemplo.

zf.write("/home/decodigo/Documentos/python/archivos/archivo1.txt", compress_type=compression)

A cada archivo lo agregamos usando la función write.

zf.write("/home/decodigo/Documentos/python/archivos/archivo1.txt", compress_type=compression)

El resultado será algo como esto:

El archivo archivo_ejemplo.zip, contendrá los archivos que especificamos en código: archivo1.txt, archivo2.txt, archivo3.txt y archivo4.txt.