Estrai ZIP nidificato in Python

Gli archivi ZIP sono ampiamente utilizzati per comprimere e organizzare file e cartelle. A volte potresti imbatterti in file ZIP all’interno di archivi ZIP, noti come ZIP nidificati. Estrarre file da tali archivi nidificati può essere un compito impegnativo se non si dispone degli strumenti giusti. In questo post del blog, esploreremo come estrarre facilmente gli archivi ZIP nidificati in Python.

Libreria Python per estrarre ZIP nidificati

Aspose.ZIP for Python è una potente libreria che ti consente di lavorare con archivi ZIP in applicazioni Python. Fornisce varie funzionalità per creare, manipolare ed estrarre archivi ZIP, rendendolo una scelta eccellente per gestire strutture di archivio complesse, inclusi archivi ZIP nidificati. Quindi utilizzeremo questa libreria per estrarre file ZIP nidificati.

Puoi scaricare la libreria o installarla da PyPI.

> pip install aspose-zip

Estrai file ZIP nidificati in Python

Di seguito sono riportati i passaggi per estrarre file ZIP nidificati in Python.

  • Innanzitutto, carica l’archivio ZIP utilizzando la classe Archive.
  • Quindi, scorrere le voci ZIP utilizzando la raccolta Archive.entries.
  • Filtra gli archivi ZIP utilizzando il controllo ArchiveEntry.name.lower().endswith(".zip").
  • Crea un oggetto BytesIO e apri lo ZIP nidificato al suo interno.
  • Infine, apri lo ZIP nidificato utilizzando l’oggetto BytesIO ed estrailo utilizzando il metodo Archive.extracttodirectory().

Il frammento di codice seguente estrae un archivio ZIP nidificato in una cartella in Python.

import aspose.zip as az
from io import BytesIO

# Carica l'archivio ZIP con ZIP nidificati
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # Controlla se la voce è un archivio ZIP
        if entry.name.lower().endswith(".zip"):                
            # Apri ZIP nidificato nel flusso
            with BytesIO() as nested_stream:   
                # Apri ZIP nello stream
                entry.extract(nested_stream)
                
                # Carica CAP
                with az.Archive(nested_stream) as nested_archive: 
                    # Estrai ZIP in una cartella
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Libreria ZIP Python: ottieni una licenza gratuita

Ottieni una licenza temporanea gratuita e aggiungi file agli archivi ZIP senza limitazioni di valutazione.

Risorse di apprendimento

Scopri di più sulla nostra libreria ZIP Python utilizzando le risorse fornite di seguito:

Strumenti ZIP in linea

Esplora i nostri strumenti online gratuiti per lavorare con gli archivi ZIP, basati su Aspose.ZIP for Python.

Conclusione

Aspose.ZIP semplifica il processo di estrazione degli archivi ZIP nidificati in Python. Con solo poche righe di codice puoi accedere ed estrarre file da archivi nidificati. Questa libreria è uno strumento prezioso per gestire complesse strutture di archivio ZIP nelle tue applicazioni Python. Sia che tu stia lavorando con archivi ZIP nidificati o eseguendo altre attività relative a ZIP, Aspose.ZIP for Python può semplificare il tuo flusso di lavoro e rendere il tuo processo di sviluppo più efficiente.

Guarda anche