Extrahera Nested ZIP i Python

ZIP-arkiv används ofta för att komprimera och organisera filer och mappar. Ibland kan du stöta på ZIP-filer i ZIP-arkiv, så kallade kapslade ZIP. Att extrahera filer från sådana kapslade arkiv kan vara en utmanande uppgift om du inte har rätt verktyg. I det här blogginlägget kommer vi att utforska hur man extraherar kapslade ZIP-arkiv i Python utan ansträngning.

Python-bibliotek för att extrahera kapslad ZIP

Aspose.ZIP for Python är ett kraftfullt bibliotek som låter dig arbeta med ZIP-arkiv i Python-applikationer. Det tillhandahåller olika funktioner för att skapa, manipulera och extrahera ZIP-arkiv, vilket gör det till ett utmärkt val för att hantera komplexa arkivstrukturer, inklusive kapslade ZIP-arkiv. Så vi kommer att använda det här biblioteket för att extrahera kapslade ZIP-filer.

Du kan ladda ner biblioteket eller installera det från PyPI.

> pip install aspose-zip

Extrahera kapslade ZIP-filer i Python

Följande är stegen för att extrahera kapslade ZIP-filer i Python.

  • Ladda först ZIP-arkivet med klassen Archive.
  • Gå sedan igenom ZIP-posterna med Archive.entries-samlingen.
  • Filtrera ZIP-arkiven med ArchiveEntry.name.lower().endswith(".zip") check.
  • Skapa ett BytesIO-objekt och öppna det kapslade ZIP-objektet i det.
  • Öppna slutligen det kapslade ZIP-objektet med BytesIO-objektet och extrahera det med metoden Archive.extracttodirectory().

Nedanstående kodavsnitt extraherar ett kapslat ZIP-arkiv till en mapp i Python.

import aspose.zip as az
from io import BytesIO

# Ladda ZIP-arkiv med kapslade ZIP
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # Kontrollera om posten är ZIP-arkiv
        if entry.name.lower().endswith(".zip"):                
            # Öppna kapslad ZIP i stream
            with BytesIO() as nested_stream:   
                # Öppna ZIP i stream
                entry.extract(nested_stream)
                
                # Ladda ZIP
                with az.Archive(nested_stream) as nested_archive: 
                    # Extrahera ZIP till en mapp
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Python ZIP Library - Skaffa en gratis licens

Skaffa en gratis tillfällig licens och lägg till filer i ZIP-arkiv utan utvärderingsbegränsningar.

Lärresurser

Lär dig mer om vårt Python ZIP-bibliotek med hjälp av resurserna nedan:

Online ZIP-verktyg

Utforska våra kostnadsfria onlineverktyg för att arbeta med ZIP-arkiv, som drivs av Aspose.ZIP för Python.

Slutsats

Aspose.ZIP förenklar processen att extrahera kapslade ZIP-arkiv i Python. Med bara några rader kod kan du komma åt och extrahera filer från kapslade arkiv. Det här biblioteket är ett värdefullt verktyg för att hantera komplexa ZIP-arkivstrukturer i dina Python-applikationer. Oavsett om du arbetar med kapslade ZIP-arkiv eller utför andra ZIP-relaterade uppgifter, kan Aspose.ZIP för Python effektivisera ditt arbetsflöde och göra din utvecklingsprocess mer effektiv.

Se även