Facebook pixel
>Blog>Ciência de Dados
Ciência de Dados

Python: Aprenda a Compactar e Descompactar Arquivos com 7z Zipfile

Aprenda como compactar arquivos com a biblioteca 7z Zipfile em Python.





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.

  1. Abra o terminal ou prompt de comando no seu sistema operacional.
  2. 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:

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada
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.

Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada

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.


Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada Aprenda uma nova língua na maior escola de idiomas do mundo! Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa. Quero estudar na Fluency
Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada
Nossa metodologia de ensino tem eficiência comprovada

Aprenda uma nova língua na maior escola de idioma do mundo!

Conquiste a fluência no idioma que sempre sonhou com uma solução de ensino completa.

+ 400 mil alunos

Método validado

Aulas

Ao vivo e gravadas

+ 1000 horas

Duração dos cursos

Certificados

Reconhecido pelo mercado

Quero estudar na Fluency

Sobre o autor

A melhor plataforma para aprender tecnologia no Brasil

A Awari é a melhor maneira de aprender tecnologia no Brasil.
Faça parte e tenha acesso a cursos com aulas ao vivo e mentorias individuais com os melhores profissionais do mercado.