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
- Połącz TAR z ZIP w Python
- Darmowe narzędzia do spakowania online
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.