Slå samman flera ZIP-filer i Python

ZIP-filer är ett populärt sätt att komprimera och arkivera flera filer i en enda behållare. Det finns dock tillfällen då du behöver slå samman flera ZIP-filer till ett enda ZIP-arkiv. Detta kan vara särskilt användbart för att organisera och hantera dina filer. Så i det här blogginlägget kommer vi att utforska hur man slår samman flera ZIP-filer till en enda ZIP i Python.

Python-bibliotek för att slå samman flera ZIP-filer

Aspose.ZIP for Python är ett robust bibliotek som låter utvecklare arbeta med ZIP-arkiv i Python-applikationer. Det ger ett brett utbud av funktioner för att skapa, lägga till, extrahera och manipulera ZIP-filinnehåll. Vi kommer att använda det här biblioteket för att slå samman flera ZIP-filer till ett enda ZIP-arkiv.

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

> pip install aspose-zip

Slå samman flera ZIP-filer i Python

Aspose.ZIP för Python gör det enklare att slå samman flera ZIP-arkiv. Du behöver bara extrahera filerna från källans ZIP-arkiv och lägga till dem i mål-ZIP. Låt oss ta en titt på stegen som krävs för att slå samman ZIP-filer i Python.

  • Ladda först käll- och mål-ZIP-filerna med hjälp av Archive-klassen.
  • Gå sedan igenom posterna i källzip-zip med hjälp av Archive.entries-samlingen.
  • Extrahera varje post från källans ZIP till ett BytesIO-objekt med metoden Archive.entries[index].extract(BytesIO).
  • Lägg till den extraherade posten till målets ZIP-arkiv med metoden Archive.createentry(string, BytesIO).
  • Slutligen sparar du målet ZIP-arkivet med metoden Archive.save(string).

Följande kodexempel visar hur man slår samman två ZIP-filer i Python.

import aspose.zip as az
from io import BytesIO

# Ladda käll- och mål-zip-filer
with az.Archive("source.zip") as source:
    with az.Archive("target.zip") as target:
        
        # Gå igenom ZIP-poster
       for i in range(source.entries.length):
          
            # Lägg till post till mål-zip
            if not source.entries[i].is_directory:
                ms = BytesIO()
                source.entries[i].extract(ms)
                target.create_entry(source.entries[i].name, ms)
            else:
                target.create_entry(source.entries[i].name + "/", None)
        
        # Spara målet ZIP
        target.save("merged.zip")

Python ZIP Library - Skaffa en gratis licens

Skaffa en gratis tillfällig licens och arbeta med 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

Att slå samman flera ZIP-filer till ett enda ZIP-arkiv kan vara en användbar operation när man hanterar ett stort antal komprimerade filer. Aspose.ZIP för Python gör denna uppgift enkel och effektiv. Genom att följa stegen som beskrivs i det här blogginlägget kan du enkelt slå samman flera ZIP-filer till ett enda ZIP-arkiv i Python. Installera bara biblioteket och slå enkelt samman ZIP-arkiv i dina Python-applikationer.

Se även