Como compactar e descompactar arquivos usando Python
Compactar arquivos usando Python: aprenda a realizar essa tarefa de forma simples e eficiente utilizando as bibliotecas ‘zipfile’ e ‘shutil’. Saiba como adicionar opções de compressão e descompactar arquivos em diferentes formatos. Confira também outras ferramentas disponíveis para compactação e descompactação de arquivos em Python.
Navegue pelo conteúdo
Como compactar arquivos usando Python
Introdução
Compactar arquivos pode ser uma tarefa útil e necessária em muitos cenários. Por sorte, Python oferece diversas maneiras de realizar a compactação de arquivos de forma simples e eficiente. Neste artigo, vamos explorar algumas técnicas e bibliotecas disponíveis para realizar a compactação de arquivos usando Python.
Biblioteca ‘zipfile’
Uma das bibliotecas mais utilizadas para compactação de arquivos em Python é a ‘zipfile’. Com ela, é possível criar um arquivo ZIP contendo um ou mais arquivos e diretórios.
Exemplo de código:
import zipfile
Exemplo de compactação de arquivo usando ‘zipfile’
with zipfile.ZipFile('arquivo.zip', 'w') as zipf:
zipf.write('arquivo.txt')
zipf.write('pasta/')
Biblioteca ‘shutil’
Outra forma de compactar arquivos em Python é utilizando a biblioteca ‘shutil’. Essa biblioteca oferece diversas funcionalidades para manipulação de arquivos e diretórios, incluindo a compactação de arquivos.
Exemplo de código:
import shutil
Exemplo de compactação de arquivo usando ‘shutil’
shutil.make_archive('arquivo', 'zip', 'pasta')
Opção de compressão
É possível adicionar opções de compressão ao compactar arquivos em Python, como a compressão com nível máximo.
with zipfile.ZipFile('arquivo.zip', 'w', compression=zipfile.ZIP_DEFLATED) as zipf:
zipf.write('arquivo.txt')
zipf.write('pasta/', compress_type=zipfile.ZIP_DEFLATED)
Descmpatando arquivos usando Python
Assim como é possível compactar arquivos usando Python, também é possível realizar a descompactação de arquivos em diferentes formatos, como ZIP, GZIP, TAR, entre outros.
Descompactação de arquivos ZIP
with zipfile.ZipFile('arquivo.zip', 'r') as zipf:
zipf.extractall('pasta_destino')
Descompactação de arquivos GZIP
import gzip
with gzip.open('arquivo.gz', 'rb') as gz:
with open('arquivo.txt', 'wb') as f:
f.write(gz.read())
Descompactação de arquivos TAR
import tarfile
with tarfile.open('arquivo.tar', 'r') as tar:
tar.extractall('pasta_destino')
Ferramentas alternativas
Além das bibliotecas nativas do Python, existem diversas outras ferramentas disponíveis para auxiliar na tarefa de compactar e descompactar arquivos usando Python. Vamos conhecer algumas delas:
Patool
O Patool é uma biblioteca Python que suporta a compactação e descompactação de vários formatos de arquivos, como ZIP, TAR, GZIP, BZIP, entre outros.
import patoolib
patoolib.create_archive('arquivo.zip', ['arquivo.txt', 'pasta/'])
Zipfile2
O Zipfile2 é uma biblioteca Python que também oferece suporte à compactação e descompactação de arquivos ZIP.
from zipfile2 import ZipFile
with ZipFile('arquivo.zip', 'w') as zipf:
zipf.write('arquivo.txt')
zipf.write('pasta/')
py7zr
O py7zr é uma biblioteca Python que permite compactar e descompactar arquivos no formato 7z.
import py7zr
with py7zr.SevenZipFile('arquivo.7z', 'w') as szf:
szf.writeall('pasta/')
Passo a passo para compactar e descompactar arquivos
Compactando Arquivos
- Importe a biblioteca necessária para a compactação, como ‘zipfile’ ou ‘shutil’.
- Crie um novo arquivo ZIP ou utilize um existente.
- Adicione os arquivos e diretórios que deseja compactar ao arquivo ZIP.
- Especifique as opções de compressão, se necessário.
- Salve o arquivo ZIP.
Descompactando Arquivos
- Importe a biblioteca necessária para a descompactação, como ‘zipfile’ ou ‘shutil’.
- Abra o arquivo ZIP ou outro formato de arquivo.
- Especifique o diretório de destino onde deseja extrair os arquivos.
- Extraia os arquivos para o diretório de destino.
- Verifique se os arquivos foram descompactados corretamente.
Certifique-se de adaptar essas instruções às bibliotecas e ferramentas que você decidiu usar em seu projeto.
Conclusão
Neste artigo, exploramos diferentes ferramentas e bibliotecas disponíveis para a compactação e descompactação de arquivos usando Python. Através da utilização dessas ferramentas, você pode realizar essas tarefas de forma simples e eficiente, adaptando as soluções de acordo com suas necessidades específicas.
Ao longo do texto, mencionamos como compactar e descompactar arquivos usando Python em diversos contextos, destacando a versatilidade e o poder dessa linguagem de programação. Esperamos que este artigo tenha sido útil e auxiliado você a aprimorar suas habilidades em manipulação de arquivos com Python.
A Awari é a melhor plataforma para aprender sobre programação 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.
