Mesclar TAR com ZIP em Python

Várias técnicas de compactação de dados são usadas para reduzir o tamanho de arquivos e pastas para armazenamento ou transmissão. Dois formatos de compactação comumente usados são TAR e ZIP, cada um com seus próprios pontos fortes e casos de uso. Mas e se você precisar combinar esses formatos? Nesta postagem do blog, exploraremos como mesclar TAR com ZIP em Python.

Biblioteca Python para mesclar TAR com ZIP

Aspose.ZIP for Python é uma biblioteca rica em recursos que permite trabalhar com vários formatos de arquivo, incluindo ZIP e TAR. Você pode usar a biblioteca para criar, adicionar, extrair e manipular arquivos sem esforço. Usaremos esta biblioteca para mesclar o TAR com o arquivo ZIP.

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

> pip install aspose-zip

Por que mesclar TAR com ZIP?

Antes de mergulharmos nos detalhes técnicos, vamos discutir brevemente por que você pode querer mesclar TAR com ZIP. Tanto o TAR quanto o ZIP têm suas vantagens exclusivas:

  • TAR: TAR é um formato de arquivamento de arquivos comumente usado em sistemas Unix e Linux. É ideal para agrupar vários arquivos e diretórios em um único arquivo sem compactação. Os arquivos TAR são frequentemente usados para backups e empacotamento de arquivos para distribuição.

  • ZIP: ZIP é um formato de compactação amplamente utilizado que não apenas agrupa arquivos e diretórios, mas também os compacta para reduzir o espaço de armazenamento e acelerar a transferência de arquivos. ZIP é compatível com várias plataformas e com várias ferramentas de arquivamento.

A mesclagem de TAR com ZIP pode ser benéfica em cenários em que você deseja preservar a estrutura de diretórios dos arquivos TAR e, ao mesmo tempo, obter os benefícios de compactação do ZIP.

Mesclar TAR com ZIP em Python

A seguir estão as etapas para mesclar TAR com ZIP em Python.

  • Primeiro, carregue o TAR usando a classe TarArchive.
  • Em seguida, carregue o ZIP usando a classe Archive.
  • Depois disso, percorra as entradas do TAR usando a coleção Archive.entries.
  • Extraia cada entrada do TAR em um objeto BytesIO usando o método Archive.entries[index].extract(BytesIO).
  • Adicione a entrada extraída ao arquivo ZIP usando o método Archive.createentry(string, BytesIO).
  • Finalmente, salve o arquivo ZIP usando o método Archive.save(string).

O exemplo de código a seguir mostra como mesclar TAR com o arquivo ZIP em Python.

import aspose.zip as az
from io import BytesIO

# Carregar arquivo TAR
with az.tar.TarArchive("source.tar") as source:
  
    # Carregar arquivo ZIP
    with az.Archive("target.zip") as target:
      
        # Percorra as entradas TAR e adicione-as ao 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)
        
        # Salvar arquivo ZIP
        target.save("merged_tar_zip.zip")

Biblioteca Python ZIP – Obtenha uma licença gratuita

Obtenha uma licença temporária gratuita e trabalhe com vários formatos de arquivo 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

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

Conclusão

Mesclar TAR com ZIP usando Aspose.ZIP para Python é um processo simples que permite aproveitar os pontos fortes de ambos os formatos de arquivamento. Se você precisa empacotar arquivos para distribuição, criar backups ou simplesmente reduzir o espaço de armazenamento, o Aspose.ZIP simplifica a tarefa e oferece controle refinado sobre o processo. Você pode seguir facilmente as diretrizes fornecidas nesta postagem do blog e mesclar arquivos TAR com ZIP em seus aplicativos Python.

Veja também