Extrahujte vnořené ZIP v Python

Archivy ZIP se široce používají pro kompresi a organizaci souborů a složek. Někdy se můžete setkat se soubory ZIP v archivech ZIP, známých jako vnořené ZIP. Extrahování souborů z takto vnořených archivů může být náročný úkol, pokud nemáte správné nástroje. V tomto příspěvku na blogu prozkoumáme, jak bez námahy extrahovat vnořené archivy ZIP v Python.

Knihovna Python pro extrahování vnořeného ZIP

Aspose.ZIP for Python je výkonná knihovna, která vám umožňuje pracovat s archivy ZIP v aplikacích Python. Poskytuje různé funkce pro vytváření, manipulaci a extrahování archivů ZIP, díky čemuž je vynikající volbou pro zpracování složitých archivních struktur, včetně vnořených archivů ZIP. Využijeme tedy tuto knihovnu k extrahování vnořených souborů ZIP.

Knihovnu si můžete stáhnout nebo ji nainstalovat z PyPI.

> pip install aspose-zip

Extrahujte vnořené soubory ZIP v Python

Následují kroky k extrahování vnořených souborů ZIP v Python.

  • Nejprve načtěte archiv ZIP pomocí třídy Archive.
  • Poté procházejte položky ZIP pomocí kolekce Archive.entries.
  • Filtrujte archivy ZIP pomocí kontroly ArchiveEntry.name.lower().endswith(.zip).
  • Vytvořte objekt BytesIO a otevřete do něj vnořený ZIP.
  • Nakonec otevřete vnořený ZIP pomocí objektu BytesIO a extrahujte jej pomocí metody Archive.extracttodirectory().

Níže uvedený fragment kódu extrahuje vnořený archiv ZIP do složky v Python.

import aspose.zip as az
from io import BytesIO

# Načtěte archiv ZIP s vnořenými soubory ZIP
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # Zkontrolujte, zda se jedná o archiv ZIP
        if entry.name.lower().endswith(".zip"):                
            # Otevřete vnořený ZIP do streamu
            with BytesIO() as nested_stream:   
                # Otevřete ZIP do streamu
                entry.extract(nested_stream)
                
                # Načíst ZIP
                with az.Archive(nested_stream) as nested_archive: 
                    # Extrahujte ZIP do složky
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Python ZIP Library – Získejte bezplatnou licenci

Získejte bezplatnou dočasnou licenci a přidávejte soubory do archivů ZIP bez omezení hodnocení.

Výukové zdroje

Zjistěte více o naší knihovně Python ZIP pomocí zdrojů uvedených níže:

Online nástroje ZIP

Prozkoumejte naše bezplatné online nástroje pro práci s archivy ZIP, které využívají Aspose.ZIP for Python.

Závěr

Aspose.ZIP zjednodušuje proces extrahování vnořených ZIP archivů v Python. Pomocí několika řádků kódu můžete přistupovat k souborům z vnořených archivů a extrahovat je. Tato knihovna je cenným nástrojem pro zpracování složitých struktur ZIP archivů ve vašich aplikacích Python. Ať už pracujete s vnořenými archivy ZIP nebo provádíte jiné úlohy související se ZIP, Aspose.ZIP for Python může zefektivnit váš pracovní postup a zefektivnit váš vývojový proces.

Viz také