Arquivo ZIP Python com Exemplo
Python permite que você crie rapidamente arquivos zip/tar.
O comando a seguir irá compactar o diretório inteiro
shutil.make_archive(output_filename, 'zip', dir_name)
O comando a seguir oferece controle sobre os arquivos que você deseja arquivar
ZipFile.write(filename)
Aqui estão as etapas para criar um arquivo Zip em Python
Etapa 1) Para criar um arquivo do Python, certifique-se de ter sua instrução de importação correta e em ordem. Aqui a instruçã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 split para separar o diretório e o nome do arquivo do caminho para o local do arquivo de texto (guru99)
- Em seguida, chamamos o módulo “shutil.make_archive(“guru99 archive, “zip”, root_dir)” para criar o arquivo compactado, que estará no formato zip
- Depois disso, passamos no diretório raiz das coisas que queremos que sejam compactadas. Portanto, tudo no diretório será compactado
- Ao executar o código, você pode ver que o arquivo zip foi criado no lado direito do painel.
Etapa 2) Uma vez que seu arquivo de arquivo é feito, você pode clicar com o botão direito do mouse no arquivo e selecionar o OS, e ele mostrará seus arquivos de arquivo como mostrado abaixo
Agora 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 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 passar permissão porque é um arquivo, então você precisa escrever informações no arquivo como newzip
- Usamos a variável “newzip” para fazer referência ao arquivo zip que criamos
- Usando a função write 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 damos nenhum comando para “fechar” o arquivo como “newzip.close” porque usamos o bloqueio de escopo “With”, então quando o programa estiver fora deste escopo o arquivo será limpo e fechado automaticamente.
Etapa 5) Quando você -> clique com o botão direito do mouse no arquivo (testguru99.zip) e -> selecione seu sistema operacional (Windows Explorer) , ele mostrará os arquivos compactados na pasta conforme mostrado abaixo.
Quando você clicar duas vezes no arquivo “testguru99.zip”, ele abrirá outra janela, e isso mostrará os arquivos incluídos nele.
Aqui está o código completo
Exemplo do Python 2
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive def main(): # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive", "zip", root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip","w") as newzip: newzip.write("guru99.txt") newzip.write("guru99.txt.bak") if __name__== "__main__": main()
Exemplo do Python 3
import os import shutil from zipfile import ZipFile from os import path from shutil import make_archive # Check if file exists if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); # rename the original file os.rename("career.guru99.txt","guru99.txt") # now put things into a ZIP archive root_dir,tail = path.split(src) shutil.make_archive("guru99 archive","zip",root_dir) # more fine-grained control over ZIP files with ZipFile("testguru99.zip", "w") as 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 serem compactados, use o comando “ZipFile.write(filename)”
python
- E/S de arquivo Python
- Java BufferedReader:Como Ler Arquivo em Java com Exemplo
- Função Python String strip () com EXEMPLO
- Python String count() com EXEMPLOS
- Função Python round() com EXEMPLOS
- Função Python map() com EXEMPLOS
- Python Timeit() com exemplos
- Contador Python em coleções com exemplo
- Python List count() com EXEMPLOS
- Python List index() com exemplo