Extraire le ZIP imbriqué en Python

Les archives ZIP sont largement utilisées pour compresser et organiser des fichiers et des dossiers. Parfois, vous pouvez rencontrer des fichiers ZIP dans des archives ZIP, appelés ZIP imbriqués. Extraire des fichiers de ces archives imbriquées peut être une tâche difficile si vous ne disposez pas des bons outils. Dans cet article de blog, nous explorerons comment extraire sans effort des archives ZIP imbriquées dans Python.

Bibliothèque Python pour extraire le ZIP imbriqué

Aspose.ZIP for Python est une bibliothèque puissante qui vous permet de travailler avec des archives ZIP dans les applications Python. Il fournit diverses fonctionnalités pour créer, manipuler et extraire des archives ZIP, ce qui en fait un excellent choix pour gérer des structures d’archives complexes, y compris des archives ZIP imbriquées. Nous utiliserons donc cette bibliothèque pour extraire les fichiers ZIP imbriqués.

Vous pouvez télécharger la bibliothèque ou l’installer depuis PyPI.

> pip install aspose-zip

Extraire des fichiers ZIP imbriqués en Python

Voici les étapes pour extraire les fichiers ZIP imbriqués en Python.

  • Tout d’abord, chargez l’archive ZIP à l’aide de la classe Archive.
  • Ensuite, parcourez les entrées ZIP à l’aide de la collection Archive.entries.
  • Filtrez les archives ZIP à l’aide de la vérification ArchiveEntry.name.lower().endswith(".zip").
  • Créez un objet BytesIO et ouvrez-y le ZIP imbriqué.
  • Enfin, ouvrez le ZIP imbriqué à l’aide de l’objet BytesIO et extrayez-le à l’aide de la méthode Archive.extracttodirectory().

L’extrait de code ci-dessous extrait une archive ZIP imbriquée dans un dossier en Python.

import aspose.zip as az
from io import BytesIO

# Charger l'archive ZIP ayant des ZIP imbriqués
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # Vérifiez si l'entrée est une archive ZIP
        if entry.name.lower().endswith(".zip"):                
            # Ouvrir le ZIP imbriqué dans le flux
            with BytesIO() as nested_stream:   
                # Ouvrir ZIP dans le flux
                entry.extract(nested_stream)
                
                # Charger le code postal
                with az.Archive(nested_stream) as nested_archive: 
                    # Extraire le ZIP dans un dossier
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Bibliothèque ZIP Python - Obtenez une licence gratuite

Obtenez une licence temporaire gratuite et ajoutez des fichiers aux archives ZIP sans limitations d’évaluation.

Ressources d’apprentissage

Apprenez-en plus sur notre bibliothèque Python ZIP en utilisant les ressources ci-dessous :

Outils ZIP en ligne

Explorez nos outils en ligne gratuits pour travailler avec les archives ZIP, qui sont optimisés par Aspose.ZIP for Python.

Conclusion

Aspose.ZIP simplifie le processus d’extraction d’archives ZIP imbriquées en Python. Avec seulement quelques lignes de code, vous pouvez accéder et extraire des fichiers à partir d’archives imbriquées. Cette bibliothèque est un outil précieux pour gérer des structures d’archives ZIP complexes dans vos applications Python. Que vous travailliez avec des archives ZIP imbriquées ou que vous effectuiez d’autres tâches liées à ZIP, Aspose.ZIP for Python peut rationaliser votre flux de travail et rendre votre processus de développement plus efficace.

Voir également