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)
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)"