Crear ZIP en Python

Los archivos ZIP comprimen y agrupan varios archivos o carpetas en un contenedor unificado. El archivo ZIP no sólo encapsula los archivos y carpetas sino que también conserva sus metadatos. Principalmente reducen el tamaño del archivo para almacenamiento/transmisión y agregan seguridad mediante cifrado. Además de las herramientas de compresión de archivos convencionales, las aplicaciones web y de escritorio integran funcionalidades de compresión y extracción automatizadas para agilizar tareas como cargar, descargar, compartir y cifrar archivos. Este artículo presenta una forma simplificada de comprimir archivos o carpetas y crear archivos ZIP en Python. Además, cubre cómo crear archivos ZIP cifrados y protegidos con contraseña en Python. Así que profundicemos en ello.

Biblioteca ZIP de Python

Aspose.ZIP for Python es una biblioteca potente y versátil que proporciona a los desarrolladores un conjunto completo de herramientas para trabajar con archivos ZIP en aplicaciones Python. Con su API intuitiva y su amplia gama de funciones, Aspose.ZIP for Python facilita la creación, extracción y administración de archivos ZIP de manera eficiente. Puede instalar la biblioteca desde PyPI usando el siguiente comando.

> pip install aspose-zip

Crear un archivo ZIP en Python

Los siguientes son los pasos para comprimir un archivo agregándolo a un archivo ZIP en Python.

  • Primero, cree un nuevo archivo ZIP usando la clase Archive.
  • Luego, agregue el archivo al archivo ZIP usando el método Archive.createentry().
  • Finalmente, guarde el archivo ZIP usando el método Archive.save().

El siguiente ejemplo de código muestra cómo agregar un archivo a un archivo ZIP en Python.

import aspose.zip as az

# Crear y guardar un archivo con un solo archivo
with az.Archive() as archive:
    # Agregar archivo al archivo
    archive.create_entry("file", "file.txt")

    # Crear y guardar un archivo zip
    archive.save('my_archive.zip')

Agregue varios archivos al archivo ZIP en Python

En la sección anterior, demostramos cómo insertar un solo archivo en el archivo ZIP. Sin embargo, si tiene más de un archivo, puede llamar repetidamente al método Archive.createentry().

El siguiente ejemplo de código muestra cómo insertar varios archivos en un archivo ZIP en Python.

import aspose.zip as az

# Crear y guardar archivos con múltiples archivos
with az.Archive() as archive:
    # Agregar el primer archivo
    archive.create_entry("file", "file.txt")

    # Agregar segundo archivo
    archive.create_entry("file2", "file2.txt")

    # Crear y guardar un archivo zip
    archive.save('my_archive.zip')

Agregar carpetas a un archivo ZIP en Python

No solo los archivos, sino que también puedes comprimir carpetas en archivos ZIP. Para ello, no es necesario agregar cada archivo de la carpeta al archivo uno por uno. Simplemente llame al método Archive.createentries(), pase el nombre de la carpeta y listo. Para su comprensión, a continuación se detallan los pasos para archivar una carpeta completa.

  • Primero, cree un nuevo archivo usando la clase Archive.
  • Luego, agregue la carpeta al archivo ZIP usando el método Archive.createentries(nombre de carpeta).
  • Finalmente, guarde el archivo ZIP usando el método Archive.save().

El siguiente ejemplo de código muestra cómo agregar una carpeta a ZIP en Python.

import aspose.zip as az

# Crear archivo desde una carpeta
with az.Archive() as archive:
    # Agregar carpeta al zip
    archive.create_entries("files")

    # Crear y guardar un archivo zip
    archive.save('my_archive_from_folder.zip')

Cree un ZIP protegido con contraseña en Python

En varios casos, como cuando comparte el archivo en Internet, debe proteger el archivo ZIP con una contraseña. Crear un archivo ZIP protegido con contraseña usando Aspose.ZIP for Python es un proceso sencillo que ofrece seguridad mejorada para sus archivos comprimidos. Entonces, veamos cómo proteger un archivo ZIP con una contraseña en Python.

  • Primero, cree un objeto de la clase ArchiveEntrySettings e inicialícelo con la contraseña deseada.
  • Luego, cree un objeto de la clase Archive e inicialícelo con el objeto ArchiveEntrySettings que creó anteriormente.
  • Después de eso, agregue archivos y carpetas al archivo ZIP.
  • Finalmente, guarde el archivo ZIP usando el método Archive.save().

El siguiente ejemplo de código muestra cómo crear un archivo ZIP protegido con contraseña en Python.

import aspose.zip as az

# Crear configuraciones de archivo y establecer contraseña
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# Crear y guardar archivos con múltiples archivos
with az.Archive(archive_settings) as archive:        
    # Agregar carpeta al zip
    archive.create_entries("files")

    # Crear y guardar un archivo zip
    archive.save('protected_archive.zip')

Cifrar archivo ZIP con cifrado AES

En el ejemplo anterior, aplicamos configuraciones tradicionales para proteger un archivo ZIP con una contraseña. Sin embargo, Aspose.ZIP for Python le permite utilizar el cifrado AES para cifrar sus archivos ZIP. Puede utilizar los siguientes métodos de cifrado AES:

  • AES128
  • AES192
  • AES256

El proceso de aplicación del cifrado AES es el mismo que has visto en el apartado anterior. La única diferencia es que ahora utilizará AesEcryptionSettings en lugar de TraditionalEncryptionSettings al definir la configuración del archivo. El siguiente ejemplo de código demuestra cómo aplicar el cifrado AES a los archivos ZIP en Python.

import aspose.zip as az

# Crear configuraciones de archivo y establecer contraseña
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# Crear y guardar archivos con múltiples archivos
with az.Archive(archive_settings) as archive:        
    # Agregar carpeta al zip
    archive.create_entries("files")

    # Crear y guardar un archivo zip
    archive.save('protected_archive.zip')

Establecer el modo de compresión paralela

Aspose.ZIP for Python también le permite personalizar el proceso de archivo ZIP utilizando configuraciones de compresión paralela. Esta configuración le dice a la API cuándo aplicar compresión paralela. Están disponibles los siguientes modos de compresión paralela.

  • Nunca: no comprimir en paralelo.
  • Siempre: comprima en paralelo (tenga cuidado con la falta de memoria).
  • Automático: decide si utilizar compresión paralela o no en las entradas. Esta opción puede comprimir algunas entradas solo en paralelo.

Los siguientes son los pasos para aplicar compresión paralela al crear un archivo ZIP en Python.

  • Primero, cree un nuevo archivo usando la clase Archive.
  • Luego, agregue archivos o carpetas al archivo ZIP (como se muestra en las secciones anteriores).
  • Cree una instancia de la clase ParallelOptions y establezca la propiedad paralelocompressinmemory en el valor deseado de ParallelCompressionMode.
  • Cree una instancia de la clase ArchiveSaveOptions.
  • Asigne el objeto ParallelOptions a la propiedad ArchiveSaveOptions.paralleloptions.
  • Finalmente, guarde el archivo ZIP usando el método Archive.save().

El siguiente ejemplo de código muestra cómo aplicar compresión paralela al comprimir archivos en Python.

# Crear y guardar archivos con múltiples archivos
import aspose.zip as az

with az.Archive() as archive:        
    # Agregar archivos/carpetas al zip
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # Crear opciones para compresión paralela
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # Crear opciones de guardado ZIP
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

    archiveSaveOptions.parallel_options = parallelOptions
    archiveSaveOptions.archive_comment = "Files compressed with parallel compression."

    # Crear y guardar un archivo zip
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

Obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita y comprimir archivos en un archivo ZIP sin limitaciones de evaluación.

Biblioteca ZIP de Python - Recursos

Puede explorar más sobre nuestra biblioteca ZIP de Python utilizando los siguientes recursos:

Crear archivos ZIP en línea

Pruebe nuestra aplicación gratuita para comprimir archivos, que funciona con Aspose.ZIP for Python.

Conclusión

En conclusión, Aspose.ZIP for Python ofrece una solución sólida y versátil para crear y administrar archivos ZIP sin esfuerzo. Con su conjunto completo de funciones, los desarrolladores pueden integrar perfectamente la funcionalidad ZIP en sus aplicaciones Python. Ya sea comprimir archivos, agregar cifrado u organizar estructuras de directorios complejas, Aspose.ZIP proporciona un conjunto de herramientas confiable para optimizar estas tareas.

Este artículo le proporcionó una guía completa sobre cómo crear archivos ZIP en Python. Además, hemos cubierto cómo archivar varios archivos y carpetas, crear archivos ZIP protegidos con contraseña, aplicar cifrado AES y configurar métodos de compresión ZIP paralelos. Puede integrar fácilmente la biblioteca en sus aplicaciones Python y utilizar los ejemplos de código proporcionados.

Ver también