Arquivo ZIP Python com Exemplo

Anonim

Python permite que você crie arquivos zip / tar rapidamente.

O seguinte comando compactará todo o diretório

shutil.make_archive(output_filename, 'zip', dir_name)

O comando a seguir dá a você controle sobre os arquivos que deseja arquivar

ZipFile.write(filename)

Aqui estão as etapas para criar um arquivo Zip em Python

Etapa 1) Para criar um arquivo compactado do Python, certifique-se de ter sua instrução de importação correta e em ordem. Aqui, a declaração de importação para o arquivo é

from shutil import make_archive

Explicação do código

  • Importar a classe make_archive do módulo shutil
  • Use a função de divisão para dividir o diretório e o nome do arquivo do caminho para a localização do arquivo de texto (guru99)
  • Em seguida, chamamos o módulo "shutil.make_archive (" guru99 archive, "zip", root_dir) "para criar o arquivo, que estará no formato zip
  • Depois disso, passamos para o diretório raiz das coisas que queremos compactar. Então, tudo no diretório será compactado
  • Ao executar o código, você pode ver que o arquivo zip do arquivo é criado no lado direito do painel.

Passo 2)

  • Uma vez que seu arquivo é feito, você pode clicar com o botão direito no arquivo e selecionar o sistema operacional, e ele irá mostrar seus arquivos nele como mostrado abaixo

    Agora o seu arquivo archive.zip aparecerá no seu sistema operacional (Windows Explorer)

    Etapa 3) Ao clicar duas vezes no arquivo, você verá a lista de todos os arquivos contidos nele.

    Etapa 4) Em Python, podemos ter mais controle sobre o arquivo, pois podemos definir qual arquivo específico incluir no arquivo. No nosso caso, incluiremos dois arquivos no arquivo "guru99.txt" e "guru99.txt.bak".

    Explicação do código

    • Importar a classe Zipfile do módulo Python do arquivo zip. Este módulo oferece controle total sobre a criação de arquivos zip
    • Criamos um novo arquivo Zip com o nome ("testguru99.zip," w ")
    • Criar uma nova classe Zipfile requer permissão porque é um arquivo, então você precisa gravar informações no arquivo como newzip
    • Usamos a variável "newzip" para nos referir ao arquivo zip que criamos
    • Usando a função de gravação na variável "newzip", adicionamos os arquivos "guru99.txt" e "guru99.txt.bak" ao arquivo

    Ao executar o código, você pode ver que o arquivo é criado no lado direito do painel com o nome "guru99.zip"

    Observação : aqui não fornecemos nenhum comando para "fechar" o arquivo como "newzip.close" porque usamos o bloqueio de escopo "Com", portanto, quando o programa sair deste escopo, o arquivo será limpo e fechado automaticamente.

    Passo 5) Quando você -> clica com o botão direito no arquivo (testguru99.zip) e -> seleciona seu sistema operacional (Windows Explorer) , ele irá mostrar os arquivos compactados na pasta conforme mostrado abaixo.

    Ao clicar duas vezes no arquivo "testguru99.zip", uma outra janela será aberta, e serão mostrados os arquivos incluídos nela.

    Aqui está o código completo

    Exemplo de Python 2

    importar osimport Shutilfrom zipfile import ZipFiledo caminho de importação do sistema operacionaldo shutil import make_archivedef main ():# Verifique se o arquivo existeif path.exists ("guru99.txt"):# obtém o caminho para o arquivo no diretório atualsrc = path.realpath ("guru99.txt");# renomear o arquivo originalos.rename ("career.guru99.txt", "guru99.txt")# agora coloque as coisas em um arquivo ZIProot_dir, tail = path.split (src)shutil.make_archive ("arquivo guru99", "zip", root_dir)# controle mais refinado sobre arquivos ZIPcom ZipFile ("testguru99.zip", "w") como newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")if __name __ == "__main__":a Principal()

    Exemplo de Python 3

    importar osimport Shutilfrom zipfile import ZipFiledo caminho de importação do sistema operacionaldo shutil import make_archive# Verifique se o arquivo existeif path.exists ("guru99.txt"):# obtém o caminho para o arquivo no diretório atualsrc = path.realpath ("guru99.txt");# renomear o arquivo originalos.rename ("career.guru99.txt", "guru99.txt")# agora coloque as coisas em um arquivo ZIProot_dir, tail = path.split (src)shutil.make_archive ("arquivo guru99", "zip", root_dir)# controle mais refinado sobre arquivos ZIPcom ZipFile ("testguru99.zip", "w") como newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")

    Resumo

    • Para compactar o diretório inteiro, use o comando "shutil.make_archive (" name "," zip ", root_dir)
    • Para selecionar os arquivos a compactar, use o comando "ZipFile.write (nome do arquivo)"