Compactar várias entradas em um único arquivo

Compactar várias entradas em um único arquivo O método create_entry deve ser usado para cada arquivo a ser compactado. Usaremos as configurações de compactação padrão para cada formato abaixo.

Como ZIP vários arquivos usando Python.Net

O método create_entry é usado para adicionar cada arquivo ao arquivo compactado. Nestes exemplos, não especificamos nenhuma configuração de compactação, portanto serão aplicadas as configurações padrão para o formato escolhido, que é o algoritmo Deflate.

    with zp.Archive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 
        archive.save("archive.zip")

Como adicionar arquivos a um arquivo 7z

Para adicionar vários anexos a um único arquivo 7zip, é necessário usar a classe SevenZipArchive junto com os métodos create_entry e save. O padrão é o algoritmo LZMA.

    with zp.sevenzip.SevenZipArchive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 	
        archive.save("archive.7z")

Criar arquivo XAR

Para criar o arquivo XAR você precisa usar o algoritmo ZLib.

    with zp.xar.XarArchive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 	
        archive.save("archive.xar")

Este e os exemplos anteriores criam arquivos Zip, 7Zip e XAR, respectivamente. O exemplo de código abre um gerenciador de contexto para criar um arquivo no formato apropriado e adiciona arquivos ao arquivo com os nomes especificados. Após todos os arquivos terem sido adicionados ao arquivo, ele é salvo com o nome especificado no método archive.save.

Armazenando vários arquivos sem compactação

Criando um arquivo TAR com arquivo ou arquivos anexados

A mesma abordagem que podemos usar com os formatos TAR e CPIO:

    with zp.tar.TarArchive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 
        archive.save("archive.tar")

Anexando arquivos a um arquivo CPIO

Você pode usar CpioArchive em vez de TarArchive. O uso é completamente semelhante ao exemplo anterior:

    with zp.cpio.CpioArchive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 
        archive.save("archive.cpio")

Os exemplos de código fornecidos demonstram como, usando a biblioteca aspose.zip, você pode armazenar de maneira fácil e eficiente qualquer número de arquivos no arquivo. Essa abordagem garante a velocidade das operações e aumenta a conveniência de trabalhar com arquivos. Graças a isso, você poderá criar rapidamente arquivos nos formatos TAR e CPIO.

Formatos somente de compactação sem entradas

Como adicionar um arquivo a um arquivo .GZ

Com vários formatos de compressão não podemos utilizar diversas entradas, portanto devemos utilizar a abordagem de fonte única, conforme descrito abaixo:

    with io.FileIO("alice29.txt") as source:
        with zp.gzip.GzipArchive() as archive:
            archive.set_source(source)
            archive.save("archive.gz")

Os exemplos de código fornecidos demonstram como, usando a biblioteca aspose.zip, você pode armazenar de forma fácil e eficiente qualquer número de arquivos em um arquivo descompactado. Essa abordagem garante a velocidade das operações e aumenta a conveniência de trabalhar com arquivos. Graças a isso, você poderá criar rapidamente arquivos nos formatos ZIP, 7Z, TAR, XAR e CPIO, o que é útil para organizar e transferir arquivos em diversas situações.

Compactar arquivos para LZ

    with io.FileIO("alice29.txt") as source:
        with zp.lzip.LzipArchive() as archive:
            archive.set_source(source)
            archive.save("archive.lz")

Em ambos os exemplos, o código abre o arquivo alice29.txt para leitura, cria um arquivo no formato apropriado, adiciona o arquivo ao arquivo e salva o arquivo com a extensão de arquivo apropriada.

Pacote TAR.GZ

Podemos usar o método save_gzipped para combinar formatos somente de arquivo e somente compactação. Veja o exemplo de tar.gz abaixo:

    with zp.tar.TarArchive() as archive:
        archive.create_entry("first.bin", "data1.bin")
        archive.create_entry("second.bin", "data2.bin")
        # Add as many entries as you need 
        archive.save_gzipped("archive.tar.gz")

Este código demonstra a criação de um arquivo TAR compactado denominado archive.tar.gz. Ele utiliza um gerenciador de contexto para criar o arquivo com segurança e adicionar dois arquivos, data1.bin e data2.bin, renomeando-os para first.bin e second.bin dentro do arquivo. Essa abordagem simplifica a criação de arquivos TAR compactados, mantendo a estrutura e o conteúdo originais do arquivo.

TAR cria arquivo BZ2

Existe outra maneira de combinar formatos – podemos usar diferentes algoritmos de compressão sequencialmente. No exemplo abaixo, estamos usando primeiro o TAR e depois o BZIP2:

    with zp.tar.TarArchive() as tar:
        tar.create_entry("first.bin", "data1.bin")
        tar.create_entry("second.bin", "data2.bin")
        with zp.bzip2.Bzip2Archive() as archive:
            archive.set_source(tar)
            archive.save("archive.tar.bz2")

Este código atinge a mesma funcionalidade, mas com uma abordagem diferente. Ele utiliza o método tar.create_entry para construir entradas no arquivo. Consequentemente, o arquivo é gravado no formato tar.bz2 usando o método zp.bzip2.Bzip2Archive.

Outros recursos da API Aspose.ZIP com suporte para Python.Net

Com a biblioteca Aspose.ZIP em Python.Net, você pode lidar perfeitamente com várias tarefas relacionadas a documentos de arquivo ZIP. Se você precisa converter formatos, mesclar arquivos, editar conteúdo ou extrair dados, o Aspose.ZIP oferece funcionalidade abrangente para agilizar seu fluxo de trabalho e aumentar a produtividade.

  

Support and Learning Resources

  
  

Aspose.Zip offers individual archive processing APIs for other popular development environments, listed below: