Extraer ZIP anidado en Python

Los archivos ZIP se utilizan ampliamente para comprimir y organizar archivos y carpetas. A veces, puede encontrar archivos ZIP dentro de archivos ZIP, conocidos como ZIP anidados. Extraer archivos de estos archivos anidados puede ser una tarea desafiante si no se cuentan con las herramientas adecuadas. En esta publicación de blog, exploraremos cómo extraer archivos ZIP anidados en Python sin esfuerzo.

Biblioteca Python para extraer ZIP anidado

Aspose.ZIP for Python es una poderosa biblioteca que le permite trabajar con archivos ZIP en aplicaciones Python. Proporciona varias funciones para crear, manipular y extraer archivos ZIP, lo que lo convierte en una excelente opción para manejar estructuras de archivos complejas, incluidos archivos ZIP anidados. Por tanto, utilizaremos esta biblioteca para extraer archivos ZIP anidados.

Puede descargar la biblioteca o instalarla desde PyPI.

> pip install aspose-zip

Extraer archivos ZIP anidados en Python

Los siguientes son los pasos para extraer archivos ZIP anidados en Python.

  • Primero, cargue el archivo ZIP usando la clase Archive.
  • Luego, recorra las entradas ZIP usando la colección Archive.entries.
  • Filtre los archivos ZIP usando la verificación ArchiveEntry.name.lower().endswith(".zip").
  • Cree un objeto BytesIO y abra el ZIP anidado en él.
  • Finalmente, abra el ZIP anidado usando el objeto BytesIO y extráigalo usando el método Archive.extracttodirectory().

El siguiente fragmento de código extrae un archivo ZIP anidado en una carpeta en Python.

import aspose.zip as az
from io import BytesIO

# Cargar archivo ZIP con ZIP anidados
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # Compruebe si la entrada es un archivo ZIP
        if entry.name.lower().endswith(".zip"):                
            # Abrir ZIP anidado en la secuencia
            with BytesIO() as nested_stream:   
                # Abrir ZIP en la transmisión
                entry.extract(nested_stream)
                
                # Cargar ZIP
                with az.Archive(nested_stream) as nested_archive: 
                    # Extraer ZIP a una carpeta
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Biblioteca ZIP de Python: obtenga una licencia gratuita

Obtenga una licencia temporal gratuita y agregue archivos a archivos ZIP sin limitaciones de evaluación.

Recursos de aprendizaje

Obtenga más información sobre nuestra biblioteca Python ZIP utilizando los recursos que se proporcionan a continuación:

Herramientas ZIP en línea

Explore nuestras [herramientas en línea para trabajar con archivos ZIP] gratuitas 13, que funcionan con Aspose.ZIP for Python.

Conclusión

Aspose.ZIP simplifica el proceso de extracción de archivos ZIP anidados en Python. Con solo unas pocas líneas de código, puede acceder y extraer archivos de archivos anidados. Esta biblioteca es una herramienta valiosa para manejar estructuras de archivos ZIP complejas en sus aplicaciones Python. Ya sea que esté trabajando con archivos ZIP anidados o realizando otras tareas relacionadas con ZIP, Aspose.ZIP for Python puede optimizar su flujo de trabajo y hacer que su proceso de desarrollo sea más eficiente.

Ver también