Połącz TAR z ZIP w Python

Aby zmniejszyć rozmiar plików i folderów przeznaczonych do przechowywania lub przesyłania, stosuje się różne techniki kompresji danych. Dwa powszechnie używane formaty kompresji to TAR i ZIP, każdy z własnymi mocnymi stronami i przypadkami użycia. Ale co, jeśli chcesz połączyć te formaty? W tym poście na blogu przyjrzymy się, jak połączyć TAR z ZIP w Python.

Biblioteka Python do łączenia TAR z ZIP

Aspose.ZIP for Python to bogata w funkcje biblioteka, która umożliwia pracę z różnymi formatami archiwów, w tym ZIP i TAR. Możesz używać biblioteki do łatwego tworzenia, dodawania, rozpakowywania i manipulowania archiwami. Wykorzystamy tę bibliotekę do połączenia TAR-a z archiwum ZIP.

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

> pip install aspose-zip

Po co łączyć TAR z ZIP?

Zanim zagłębimy się w szczegóły techniczne, omówmy krótko, dlaczego warto połączyć TAR z ZIP. Zarówno TAR, jak i ZIP mają swoje unikalne zalety:

  • TAR: TAR to format archiwizacji plików powszechnie używany w systemach Unix i Linux. Jest idealny do łączenia wielu plików i katalogów w jeden plik bez kompresji. Archiwa TAR są często używane do tworzenia kopii zapasowych i pakowania plików do dystrybucji.

  • ZIP: ZIP to szeroko stosowany format kompresji, który nie tylko łączy pliki i katalogi, ale także je kompresuje, aby zmniejszyć przestrzeń dyskową i przyspieszyć przesyłanie plików. ZIP jest obsługiwany na wielu platformach i jest kompatybilny z różnymi narzędziami do archiwizacji.

Łączenie plików TAR z ZIP może być korzystne w scenariuszach, w których chcesz zachować strukturę katalogów plików TAR, jednocześnie uzyskując korzyści w zakresie kompresji ZIP.

Połącz TAR z ZIP w Python

Poniżej przedstawiono kroki, aby połączyć TAR z ZIP w Python.

  • Najpierw załaduj TAR przy użyciu klasy TarArchive.
  • Następnie załaduj plik ZIP przy użyciu klasy Archive.
  • Następnie przejrzyj wpisy TAR-a, korzystając z kolekcji Archive.entries.
  • Wyodrębnij każdy wpis z TAR do obiektu BytesIO przy użyciu metody Archive.entries[index].extract(BytesIO).
  • Dodaj wyodrębniony wpis do archiwum ZIP za pomocą metody Archive.createentry(string, BytesIO).
  • Na koniec zapisz archiwum ZIP przy użyciu metody Archive.save(string).

Poniższy przykładowy kod pokazuje, jak połączyć TAR z archiwum ZIP w Python.

import aspose.zip as az
from io import BytesIO

# Załaduj plik TAR
with az.tar.TarArchive("source.tar") as source:
  
    # Załaduj plik ZIP
    with az.Archive("target.zip") as target:
      
        # Przejrzyj wpisy TAR i dodaj je do ZIP
       for i in range(source.entries.length):
            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 archiwum ZIP
        target.save("merged_tar_zip.zip")

Biblioteka ZIP Python — uzyskaj bezpłatną licencję

Zdobądź bezpłatną licencję tymczasową i pracuj z kilkoma formatami archiwów 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

Skorzystaj z naszych bezpłatnych narzędzi online do pracy z archiwami, które są obsługiwane przez Aspose.ZIP for Python.

Wniosek

Łączenie TAR z ZIP przy użyciu Aspose.ZIP for Python to prosty proces, który pozwala wykorzystać zalety obu formatów archiwizacji. Niezależnie od tego, czy chcesz spakować pliki do dystrybucji, utworzyć kopie zapasowe, czy po prostu zmniejszyć przestrzeń dyskową, Aspose.ZIP upraszcza to zadanie i zapewnia precyzyjną kontrolę nad procesem. Możesz łatwo postępować zgodnie ze wskazówkami podanymi w tym poście na blogu i łączyć archiwa TAR z archiwami ZIP w swoich aplikacjach Python.

Zobacz też