Python: Aprenda a Compactar e Descompactar Arquivos com 7z Zipfile
Aprenda como compactar arquivos com a biblioteca 7z Zipfile em Python.
Glossário
Como compactar arquivos com 7z Zipfile em Python
Introdução
Compactar arquivos é uma tarefa comum quando se trabalha com programação. E em Python, podemos utilizar a biblioteca 7z Zipfile para realizar essa tarefa de forma simples e eficiente. Neste artigo, vamos aprender como compactar arquivos utilizando o 7z Zipfile em Python.
Instalando a biblioteca 7z Zipfile no Python
Para começar a utilizar a biblioteca 7z Zipfile em seus projetos Python, é necessário instalá-la corretamente. Felizmente, o processo de instalação é simples e pode ser feito usando o gerenciador de pacotes pip.
- Abra o terminal ou prompt de comando no seu sistema operacional.
- Digite o seguinte comando e pressione Enter:
pip install py7zr
Esse comando irá baixar e instalar a biblioteca 7z Zipfile no seu ambiente de desenvolvimento Python.
Compactação de arquivos
A primeira etapa para compactar um arquivo é garantir que a biblioteca 7z Zipfile esteja instalada no seu ambiente de desenvolvimento Python. Para isso, você pode utilizar o gerenciador de pacotes pip. Basta abrir o terminal e executar o seguinte comando:
pip install py7zr
Após a instalação da biblioteca, podemos começar a compactar nossos arquivos. Para isso, devemos importar o módulo py7zr
e utilizar a função writeall
para criar o arquivo compactado. Veja o código de exemplo abaixo:



import py7zr def compactar_arquivo(caminho_arquivo, caminho_arquivo_compactado): with py7zr.SevenZipFile(caminho_arquivo_compactado, 'w') as arquivo_compactado: arquivo_compactado.writeall(caminho_arquivo) caminho_arquivo = 'caminho/do/arquivo.txt' caminho_arquivo_compactado = 'caminho/do/arquivo_compactado.7z' compactar_arquivo(caminho_arquivo, caminho_arquivo_compactado)
No exemplo acima, definimos a função compactar_arquivo
que recebe o caminho do arquivo que queremos compactar e o caminho do arquivo compactado que será gerado. Utilizamos o with
statement para garantir que o arquivo compactado seja fechado corretamente após a execução do bloco de código.
Descompactação de arquivos
Agora que já sabemos como compactar um arquivo com o 7z Zipfile em Python, vamos entender como descompactar arquivos.
Como descompactar arquivos com 7z Zipfile em Python
Descompactar arquivos também é uma tarefa importante quando trabalhamos com programação. E com a biblioteca 7z Zipfile em Python, podemos facilmente descompactar arquivos compactados. Vamos ver como fazer isso.
Assim como na etapa de compactação, a primeira coisa que devemos fazer é garantir que a biblioteca 7z Zipfile esteja instalada no ambiente de desenvolvimento Python. Para isso, podemos usar o comando pip:
pip install py7zr
Com a biblioteca instalada, podemos prosseguir para o código de descompactação. Abaixo temos um exemplo de função que realiza a descompactação de um arquivo:
import py7zr def descompactar_arquivo(caminho_arquivo_compactado, diretorio_destino): with py7zr.SevenZipFile(caminho_arquivo_compactado, mode='r') as arquivo_compactado: arquivo_compactado.extractall(path=diretorio_destino) caminho_arquivo_compactado = 'caminho/do/arquivo_compactado.7z' diretorio_destino = 'caminho/do/diretorio_destino' descompactar_arquivo(caminho_arquivo_compactado, diretorio_destino)
No exemplo acima, criamos a função descompactar_arquivo
que recebe o caminho do arquivo compactado e o diretório de destino onde queremos que os arquivos sejam extraídos. Utilizamos novamente o with
statement para garantir o fechamento correto do arquivo após a extração.
Exemplos práticos de compactação e descompactação de arquivos com 7z Zipfile em Python
Agora que já entendemos como instalar a biblioteca 7z Zipfile, vamos ver alguns exemplos práticos de como compactar e descompactar arquivos utilizando essa poderosa ferramenta em Python.



Exemplo 1: Compactando um diretório inteiro
Suponha que você tenha um diretório chamado “dados” contendo diversos arquivos e subdiretórios. Você pode compactar todo o diretório em apenas um arquivo usando a biblioteca 7z Zipfile. Veja o código abaixo:
import py7zr def compactar_diretorio(caminho_diretorio, caminho_arquivo_compactado): with py7zr.SevenZipFile(caminho_arquivo_compactado, 'w') as arquivo_compactado: arquivo_compactado.writeall(caminho_diretorio) caminho_diretorio = 'caminho/do/diretorio' caminho_arquivo_compactado = 'caminho/do/arquivo_compactado.7z' compactar_diretorio(caminho_diretorio, caminho_arquivo_compactado)
Nesse exemplo, a função compactar_diretorio
recebe o caminho do diretório que você deseja compactar e o caminho do arquivo compactado que será gerado. O método writeall
é utilizado para compactar todos os arquivos e subdiretórios presentes no diretório especificado.
Exemplo 2: Descompactando um arquivo específico
Agora, vamos ver como descompactar um arquivo específico de um arquivo compactado. Veja o código abaixo:
import py7zr def descompactar_arquivo_especifico(caminho_arquivo_compactado, nome_arquivo, diretorio_destino): with py7zr.SevenZipFile(caminho_arquivo_compactado, mode='r') as arquivo_compactado: arquivo_compactado.extract(path=diretorio_destino, targets=[nome_arquivo]) caminho_arquivo_compactado = 'caminho/do/arquivo_compactado.7z' nome_arquivo = 'arquivo.txt' diretorio_destino = 'caminho/do/diretorio_destino' descompactar_arquivo_especifico(caminho_arquivo_compactado, nome_arquivo, diretorio_destino)
Nesse exemplo, a função descompactar_arquivo_especifico
recebe o caminho do arquivo compactado, o nome do arquivo que você deseja descompactar e o diretório de destino onde o arquivo será extraído. O método extract
é utilizado para descompactar apenas o arquivo especificado.
Esses são apenas dois exemplos de como utilizar a biblioteca 7z Zipfile em Python para compactar e descompactar arquivos. Experimente diferentes configurações e explore todas as funcionalidades disponíveis para otimizar o armazenamento e a transferência de dados em seus projetos Python.
A Awari é a melhor plataforma para aprender sobre ciência de dados no Brasil.
Aqui você encontra cursos com aulas ao vivo, mentorias individuais com os melhores profissionais do mercado e suporte de carreira personalizado para dar seu próximo passo profissional e aprender habilidades como Data Science, Data Analytics, Machine Learning e mais.
Já pensou em aprender de maneira individualizada com profissionais que atuam em empresas como Nubank, Amazon e Google? Clique aqui para se inscrever na Awari e começar a construir agora mesmo o próximo capítulo da sua carreira em dados.


