Scal wiele plików ZIP w Python

Pliki ZIP to popularny sposób kompresowania i archiwizowania wielu plików w jednym kontenerze. Są jednak chwile, kiedy trzeba połączyć wiele plików ZIP w jedno archiwum ZIP. Może to być szczególnie przydatne do porządkowania plików i zarządzania nimi. Dlatego w tym poście na blogu przyjrzymy się, jak połączyć wiele plików ZIP w jeden ZIP w Python.

Biblioteka Python do łączenia wielu plików ZIP

Aspose.ZIP for Python to solidna biblioteka, która umożliwia programistom pracę z archiwami ZIP w aplikacjach Python. Zapewnia szeroką gamę funkcji do tworzenia, dodawania, wyodrębniania i manipulowania zawartością plików ZIP. Będziemy używać tej biblioteki do łączenia wielu plików ZIP w jedno archiwum ZIP.

Możesz pobrać bibliotekę lub zainstalować ją z PyPI.

> pip install aspose-zip

Scal wiele plików ZIP w Python

Aspose.ZIP for Python ułatwia łączenie wielu archiwów ZIP. Wystarczy wyodrębnić pliki ze źródłowego archiwum ZIP i dodać je do docelowego ZIP. Przyjrzyjmy się krokom wymaganym do scalania plików ZIP w Python.

  • Najpierw załaduj źródłowy i docelowy plik ZIP za pomocą klasy Archive.
  • Następnie przejrzyj wpisy źródłowego pliku ZIP, korzystając z kolekcji Archive.entries.
  • Wyodrębnij każdy wpis ze źródłowego pliku ZIP do obiektu BytesIO przy użyciu metody Archive.entries[index].extract(BytesIO).
  • Dodaj wyodrębniony wpis do docelowego archiwum ZIP przy użyciu metody Archive.createentry(string, BytesIO).
  • Na koniec zapisz docelowe archiwum ZIP przy użyciu metody Archive.save(string).

Poniższy przykładowy kod pokazuje, jak połączyć dwa pliki ZIP w języku Python.

import aspose.zip as az
from io import BytesIO

# Załaduj źródłowe i docelowe pliki ZIP
with az.Archive("source.zip") as source:
    with az.Archive("target.zip") as target:
        
        # Przeglądaj wpisy ZIP w pętli
       for i in range(source.entries.length):
          
            # Dodaj wpis do docelowego pliku 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)
        
        # Zapisz docelowy ZIP
        target.save("merged.zip")

Biblioteka ZIP Python — uzyskaj bezpłatną licencję

Zdobądź bezpłatną licencję tymczasową i pracuj z archiwami ZIP bez ograniczeń ewaluacyjnych.

Zasoby edukacyjne

Dowiedz się więcej o naszej bibliotece ZIP Python, korzystając z zasobów podanych poniżej:

Narzędzia ZIP online

Poznaj nasze bezpłatne narzędzia online do pracy z archiwami ZIP, które są obsługiwane przez Aspose.ZIP for Python.

Wniosek

Łączenie wielu plików ZIP w jedno archiwum ZIP może być użyteczną operacją w przypadku dużej liczby skompresowanych plików. Aspose.ZIP for Python sprawia, że to zadanie jest proste i wydajne. Wykonując kroki opisane w tym poście na blogu, możesz łatwo połączyć wiele plików ZIP w jedno archiwum ZIP w Python. Wystarczy zainstalować bibliotekę i bez problemu scalić archiwa ZIP w aplikacjach Python.

Zobacz też