Wyodrębnij zagnieżdżony ZIP w Python

Archiwa ZIP są szeroko stosowane do kompresowania i porządkowania plików i folderów. Czasami w archiwach ZIP możesz natknąć się na pliki ZIP, zwane zagnieżdżonymi plikami ZIP. Wyodrębnianie plików z takich zagnieżdżonych archiwów może być trudnym zadaniem, jeśli nie masz odpowiednich narzędzi. W tym poście na blogu przyjrzymy się, jak bez wysiłku wyodrębnić zagnieżdżone archiwa ZIP w Python.

Biblioteka Python do wyodrębnienia zagnieżdżonego ZIP

Aspose.ZIP for Python to potężna biblioteka, która pozwala na pracę z archiwami ZIP w aplikacjach Python. Zapewnia różne funkcje tworzenia, manipulowania i rozpakowywania archiwów ZIP, co czyni go doskonałym wyborem do obsługi złożonych struktur archiwów, w tym zagnieżdżonych archiwów ZIP. Wykorzystamy więc tę bibliotekę do wyodrębnienia zagnieżdżonych plików ZIP.

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

> pip install aspose-zip

Wyodrębnij zagnieżdżone pliki ZIP w Python

Poniżej przedstawiono kroki wyodrębniania zagnieżdżonych plików ZIP w języku Python.

  • Najpierw załaduj archiwum ZIP za pomocą klasy Archive.
  • Następnie przejrzyj wpisy ZIP, korzystając z kolekcji Archive.entries.
  • Filtruj archiwa ZIP za pomocą funkcji ArchiveEntry.name.lower().endswith(.zip").
  • Utwórz obiekt BytesIO i otwórz w nim zagnieżdżony plik ZIP.
  • Na koniec otwórz zagnieżdżony plik ZIP za pomocą obiektu BytesIO i wyodrębnij go za pomocą metody Archive.extracttodirectory().

Poniższy fragment kodu wyodrębnia zagnieżdżone archiwum ZIP do folderu w Python.

import aspose.zip as az
from io import BytesIO

# Załaduj archiwum ZIP zawierające zagnieżdżone pliki ZIP
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # Sprawdź, czy wpis jest archiwum ZIP
        if entry.name.lower().endswith(".zip"):                
            # Otwórz zagnieżdżony plik ZIP w strumieniu
            with BytesIO() as nested_stream:   
                # Otwórz ZIP w strumieniu
                entry.extract(nested_stream)
                
                # Załaduj ZIP
                with az.Archive(nested_stream) as nested_archive: 
                    # Wyodrębnij ZIP do folderu
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Biblioteka ZIP Python — uzyskaj bezpłatną licencję

Zdobądź [bezpłatną licencję tymczasową] i dodawaj pliki do archiwów 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

Aspose.ZIP upraszcza proces wyodrębniania zagnieżdżonych archiwów ZIP w Python. Za pomocą zaledwie kilku linii kodu możesz uzyskać dostęp do plików i wyodrębnić je z zagnieżdżonych archiwów. Ta biblioteka jest cennym narzędziem do obsługi złożonych struktur archiwów ZIP w aplikacjach Python. Niezależnie od tego, czy pracujesz z zagnieżdżonymi archiwami ZIP, czy wykonujesz inne zadania związane z ZIP, Aspose.ZIP for Python może usprawnić przepływ pracy i zwiększyć efektywność procesu programowania.

Zobacz też