Crie ZIP em Python

Os arquivos ZIP compactam e agrupam vários arquivos ou pastas em um contêiner unificado. O arquivo ZIP não apenas encapsula os arquivos e pastas, mas também retém seus metadados. Eles reduzem principalmente o tamanho do arquivo para armazenamento/transmissão e adicionam segurança por meio de criptografia. Além das ferramentas convencionais de compactação de arquivos, os aplicativos de desktop e web integram funcionalidades automatizadas de compactação e extração para agilizar tarefas como upload, download, compartilhamento e criptografia de arquivos. Este artigo apresenta uma maneira simplificada de compactar arquivos ou pastas e criar arquivos ZIP em Python. Além disso, aborda como criar arquivos ZIP criptografados e protegidos por senha em Python. Então, vamos nos aprofundar nisso.

Biblioteca ZIP Python

Aspose.ZIP for Python é uma biblioteca poderosa e versátil que fornece aos desenvolvedores um conjunto abrangente de ferramentas para trabalhar com arquivos ZIP em aplicativos Python. Com sua API intuitiva e ampla gama de recursos, Aspose.ZIP para Python facilita a criação, extração e gerenciamento eficiente de arquivos ZIP. Você pode instalar a biblioteca de PyPI usando o seguinte comando.

> pip install aspose-zip

Crie um arquivo ZIP em Python

A seguir estão as etapas para compactar um arquivo adicionando-o a um arquivo ZIP em Python.

  • Primeiro, crie um novo arquivo ZIP usando a classe Archive.
  • Em seguida, adicione o arquivo ao arquivo ZIP usando o método Archive.createentry().
  • Finalmente, salve o arquivo ZIP usando o método Archive.save().

O exemplo de código a seguir mostra como adicionar um arquivo a um arquivo ZIP em Python.

import aspose.zip as az

# Crie e salve o arquivo com um único arquivo
with az.Archive() as archive:
    # Adicionar arquivo ao arquivo
    archive.create_entry("file", "file.txt")

    # Crie e salve o arquivo zip
    archive.save('my_archive.zip')

Adicionar vários arquivos ao arquivo ZIP em Python

Na seção anterior, demonstramos como inserir um único arquivo no arquivo ZIP. No entanto, se você tiver mais de um arquivo, poderá chamar repetidamente o método Archive.createentry().

O exemplo de código a seguir mostra como inserir vários arquivos em um arquivo ZIP em Python.

import aspose.zip as az

# Crie e salve um arquivo com vários arquivos
with az.Archive() as archive:
    # Adicione o primeiro arquivo
    archive.create_entry("file", "file.txt")

    # Adicionar segundo arquivo
    archive.create_entry("file2", "file2.txt")

    # Crie e salve o arquivo zip
    archive.save('my_archive.zip')

Adicionar pastas a um arquivo ZIP em Python

Não apenas os arquivos, mas você também pode compactar pastas em arquivos ZIP. Para isso, você não precisa adicionar cada arquivo da pasta ao arquivo, um por um. Basta chamar o método Archive.createentries(), passar o nome da pasta e pronto. Para sua compreensão, a seguir estão as etapas para arquivar uma pasta completa.

  • Primeiro, crie um novo arquivo usando a classe Archive.
  • Em seguida, adicione a pasta ao arquivo ZIP usando o método Archive.createentries(foldername).
  • Finalmente, salve o arquivo ZIP usando o método Archive.save().

O exemplo de código a seguir mostra como adicionar uma pasta ao ZIP em Python.

import aspose.zip as az

# Criar arquivo a partir de uma pasta
with az.Archive() as archive:
    # Adicionar pasta ao zip
    archive.create_entries("files")

    # Crie e salve o arquivo zip
    archive.save('my_archive_from_folder.zip')

Crie um ZIP protegido por senha em Python

Em vários casos, como ao compartilhar o arquivo na internet, é necessário proteger o arquivo ZIP com uma senha. Criar um arquivo ZIP protegido por senha usando Aspose.ZIP para Python é um processo simples que oferece segurança aprimorada para seus arquivos compactados. Então vamos ver como proteger um arquivo ZIP com uma senha em Python.

  • Primeiro, crie um objeto da classe ArchiveEntrySettings e inicialize-o com a senha desejada.
  • Em seguida, crie um objeto da classe Archive e inicialize-o com o objeto ArchiveEntrySettings que você criou acima.
  • Depois disso, adicione arquivos e pastas ao arquivo ZIP.
  • Finalmente, salve o arquivo ZIP usando o método Archive.save().

O exemplo de código a seguir mostra como criar um arquivo ZIP protegido por senha em Python.

import aspose.zip as az

# Crie configurações de arquivo e defina uma senha
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# Crie e salve um arquivo com vários arquivos
with az.Archive(archive_settings) as archive:        
    # Adicionar pasta ao zip
    archive.create_entries("files")

    # Crie e salve o arquivo zip
    archive.save('protected_archive.zip')

Criptografar arquivo ZIP com criptografia AES

No exemplo anterior, aplicamos configurações tradicionais para proteger um arquivo ZIP com uma senha. No entanto, Aspose.ZIP para Python permite usar criptografia AES para criptografar seus arquivos ZIP. Você pode usar os seguintes métodos de criptografia AES:

  • AES128
  • AES192
  • AES256

O processo de aplicação da criptografia AES é o mesmo que você viu na seção anterior. A única diferença é que agora você usará AesEcryptionSettings em vez de TraditionalEncryptionSettings ao definir as configurações de arquivo. O exemplo de código a seguir demonstra como aplicar a criptografia AES aos arquivos ZIP em Python.

import aspose.zip as az

# Crie configurações de arquivo e defina uma senha
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# Crie e salve um arquivo com vários arquivos
with az.Archive(archive_settings) as archive:        
    # Adicionar pasta ao zip
    archive.create_entries("files")

    # Crie e salve o arquivo zip
    archive.save('protected_archive.zip')

Definir modo de compactação paralela

Aspose.ZIP para Python também permite personalizar o processo de arquivamento ZIP usando configurações de compactação paralela. Esta configuração informa à API quando aplicar a compactação paralela. Os seguintes modos de compactação paralela estão disponíveis.

  • Nunca - Não comprima em paralelo.
  • Sempre - Faça compactação em paralelo (cuidado com a falta de memória).
  • Auto - Decida se deseja usar compactação paralela ou não nas entradas. Esta opção pode compactar algumas entradas apenas em paralelo.

A seguir estão as etapas para aplicar compactação paralela ao criar um arquivo ZIP em Python.

  • Primeiro, crie um novo arquivo usando a classe Archive.
  • Em seguida, adicione arquivos ou pastas ao arquivo ZIP (conforme mostrado nas seções anteriores).
  • Crie uma instância da classe ParallelOptions e defina a propriedade parallelcompressinmemory com o valor ParallelCompressionMode desejado.
  • Crie uma instância da classe ArchiveSaveOptions.
  • Atribua o objeto ParallelOptions à propriedade ArchiveSaveOptions.paralleloptions.
  • Finalmente, salve o arquivo ZIP usando o método Archive.save().

O exemplo de código abaixo mostra como aplicar compactação paralela ao compactar arquivos em Python.

# Crie e salve um arquivo com vários arquivos
import aspose.zip as az

with az.Archive() as archive:        
    # Adicionar arquivos/pastas ao zip
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # Crie opções para compactação paralela
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # Crie opções de salvamento ZIP
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

    archiveSaveOptions.parallel_options = parallelOptions
    archiveSaveOptions.archive_comment = "Files compressed with parallel compression."

    # Crie e salve o arquivo zip
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita e compactar arquivos em um arquivo ZIP sem quaisquer limitações de avaliação.

Biblioteca ZIP Python - Recursos

Você pode explorar mais sobre nossa biblioteca Python ZIP usando os seguintes recursos:

Faça arquivos ZIP online

Experimente nosso aplicativo gratuito de compactação de arquivos, que é desenvolvido com Aspose.ZIP para Python.

Conclusão

Concluindo, Aspose.ZIP for Python oferece uma solução robusta e versátil para criar e gerenciar arquivos ZIP sem esforço. Com seu conjunto abrangente de recursos, os desenvolvedores podem integrar perfeitamente a funcionalidade ZIP em seus aplicativos Python. Seja compactando arquivos, adicionando criptografia ou organizando estruturas de diretórios complexas, o Aspose.ZIP fornece um kit de ferramentas confiável para agilizar essas tarefas.

Este artigo forneceu um guia completo sobre como criar arquivos ZIP em Python. Além disso, abordamos como arquivar vários arquivos e pastas, criar arquivos ZIP protegidos por senha, aplicar criptografia AES e configurar métodos de compactação ZIP paralelos. Você pode integrar facilmente a biblioteca em seus aplicativos Python e usar os exemplos de código fornecidos.

Veja também