Extraia ZIP aninhado em Python

Arquivos ZIP são amplamente usados para compactar e organizar arquivos e pastas. Às vezes, você pode encontrar arquivos ZIP dentro de arquivos ZIP, conhecidos como ZIP aninhados. Extrair arquivos desses arquivos aninhados pode ser uma tarefa desafiadora se você não tiver as ferramentas certas. Nesta postagem do blog, exploraremos como extrair arquivos ZIP aninhados em Python sem esforço.

Biblioteca Python para extrair ZIP aninhado

Aspose.ZIP for Python é uma biblioteca poderosa que permite trabalhar com arquivos ZIP em aplicativos Python. Ele fornece vários recursos para criar, manipular e extrair arquivos ZIP, tornando-o uma excelente escolha para lidar com estruturas de arquivo complexas, incluindo arquivos ZIP aninhados. Portanto, utilizaremos esta biblioteca para extrair arquivos ZIP aninhados.

Você pode baixar a biblioteca ou instalá-la em PyPI.

> pip install aspose-zip

Extraia arquivos ZIP aninhados em Python

A seguir estão as etapas para extrair arquivos ZIP aninhados em Python.

  • Primeiro, carregue o arquivo ZIP usando a classe Archive.
  • Em seguida, percorra as entradas ZIP usando a coleção Archive.entries.
  • Filtre os arquivos ZIP usando a verificação ArchiveEntry.name.lower().endswith(".zip").
  • Crie um objeto BytesIO e abra o ZIP aninhado nele.
  • Por fim, abra o ZIP aninhado usando o objeto BytesIO e extraia-o usando o método Archive.extracttodirectory().

O trecho de código abaixo extrai um arquivo ZIP aninhado em uma pasta em Python.

import aspose.zip as az
from io import BytesIO

# Carregar arquivo ZIP com ZIPs aninhados
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # Verifique se a entrada é um arquivo ZIP
        if entry.name.lower().endswith(".zip"):                
            # Abra o ZIP aninhado no stream
            with BytesIO() as nested_stream:   
                # Abra o ZIP no stream
                entry.extract(nested_stream)
                
                # Carregar ZIP
                with az.Archive(nested_stream) as nested_archive: 
                    # Extraia o ZIP para uma pasta
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Biblioteca Python ZIP – Obtenha uma licença gratuita

Obtenha uma licença temporária gratuita e adicione arquivos a arquivos ZIP sem limitações de avaliação.

Recursos de aprendizagem

Saiba mais sobre nossa biblioteca Python ZIP usando os recursos fornecidos abaixo:

Ferramentas ZIP on-line

Explore nossas ferramentas online gratuitas para trabalhar com arquivos ZIP, que são desenvolvidas por Aspose.ZIP para Python.

Conclusão

Aspose.ZIP simplifica o processo de extração de arquivos ZIP aninhados em Python. Com apenas algumas linhas de código, você pode acessar e extrair arquivos de arquivos aninhados. Esta biblioteca é uma ferramenta valiosa para lidar com estruturas complexas de arquivo ZIP em seus aplicativos Python. Esteja você trabalhando com arquivos ZIP aninhados ou executando outras tarefas relacionadas ao ZIP, o Aspose.ZIP para Python pode agilizar seu fluxo de trabalho e tornar seu processo de desenvolvimento mais eficiente.

Veja também