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

Arquivo ZIP Python: Aprenda a Compactar e Descompactar Arquivos

Neste artigo, vamos explorar o uso da biblioteca `zipfile` do Python para trabalhar com arquivos ZIP.

O que é um arquivo ZIP no Python

Um arquivo ZIP é um formato de arquivo compactado amplamente utilizado que permite combinar vários arquivos em um único arquivo. No contexto do Python, a biblioteca zipfile oferece suporte para a criação, leitura e manipulação desses arquivos compactados.

Compactando arquivos usando a biblioteca zipfile do Python

Agora que já entendemos o que é um arquivo ZIP no Python, vamos aprender como compactar arquivos usando a biblioteca zipfile. A compactação de arquivos é útil quando queremos reduzir o tamanho dos arquivos ou combinar vários arquivos em um único arquivo ZIP.

Para começar, importe a biblioteca zipfile no seu script Python. Em seguida, crie um objeto ZipFile passando o nome do arquivo ZIP que você deseja criar.

import zipfile

with zipfile.ZipFile('arquivo.zip', 'w') as zip:
    # Adicione os arquivos que deseja compactar ao arquivo ZIP
    zip.write('arquivo1.txt')
    zip.write('arquivo2.txt')

No exemplo acima, criamos um arquivo ZIP chamado “arquivo.zip” e adicionamos os arquivos “arquivo1.txt” e “arquivo2.txt” a ele. A letra ‘w’ passada como segundo argumento indica que queremos abrir o arquivo ZIP no modo de gravação.

Você também pode compactar uma pasta inteira em um arquivo ZIP usando o método write() com o parâmetro arcname especificando o nome da pasta dentro do arquivo ZIP.

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 zipfile

with zipfile.ZipFile('arquivo.zip', 'w') as zip:
    # Compacte uma pasta inteira
    zip.write('pasta', arcname='nome_da_pasta')

No exemplo acima, a pasta “pasta” será compactada e incluída no arquivo ZIP com o nome “nome_da_pasta”.

Descompactando arquivos ZIP no Python

Agora que aprendemos como compactar arquivos usando a biblioteca zipfile do Python, vamos descobrir como descompactar arquivos ZIP.

Para começar, importe a biblioteca zipfile no seu script Python. Em seguida, crie um objeto ZipFile passando o nome do arquivo ZIP que você deseja descompactar.

import zipfile

with zipfile.ZipFile('arquivo.zip', 'r') as zip:
    # Extraia todos os arquivos do arquivo ZIP para o diretório atual
    zip.extractall()

No exemplo acima, abrimos o arquivo ZIP chamado “arquivo.zip” no modo de leitura (‘r’) e extraímos todos os arquivos para o diretório atual. O método extractall() é usado para realizar a extração.

Você também pode especificar um diretório de destino para a extração, passando o caminho para o método extractall().

import zipfile

with zipfile.ZipFile('arquivo.zip', 'r') as zip:
    # Extraia todos os arquivos do arquivo ZIP para um diretório específico
    zip.extractall('diretorio_destino')

No exemplo acima, os arquivos serão extraídos para o diretório “diretorio_destino”.

Além disso, você pode extrair arquivos individuais de um arquivo ZIP usando o método extract(). Basta passar o nome do arquivo que você deseja extrair como argumento.

import zipfile

with zipfile.ZipFile('arquivo.zip', 'r') as zip:
    # Extraia um arquivo específico do arquivo ZIP
    zip.extract('arquivo.txt')

No exemplo acima, o arquivo “arquivo.txt” será extraído do arquivo ZIP.

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 prático de compactação e descompactação de arquivos usando Python

Neste exemplo prático, vamos ver como podemos usar a biblioteca zipfile do Python para compactar e descompactar arquivos em um cenário real.

Suponha que você tenha um projeto de desenvolvimento web com várias pastas e arquivos relacionados. Para facilitar o compartilhamento do projeto, você deseja compactar todos os arquivos em um único arquivo ZIP.

import zipfile
import os

# Crie um novo arquivo ZIP
with zipfile.ZipFile('projeto.zip', 'w') as zip:
    # Compacte todos os arquivos do projeto
    for root, dirs, files in os.walk('projeto'):
        for file in files:
            zip.write(os.path.join(root, file), arcname=os.path.join('projeto', file))

No exemplo acima, estamos compactando todos os arquivos do diretório “projeto” e seus subdiretórios para um novo arquivo ZIP chamado “projeto.zip”. O nome do diretório “projeto” dentro do arquivo ZIP será mantido para manter a estrutura original do projeto.

Agora que temos o arquivo ZIP do projeto, podemos enviá-lo ou compartilhá-lo facilmente com outras pessoas. Para extrair os arquivos do arquivo ZIP, podemos usar o seguinte código:

import zipfile

# Abra o arquivo ZIP do projeto
with zipfile.ZipFile('projeto.zip', 'r') as zip:
    # Extraia todos os arquivos para o diretório atual
    zip.extractall()

No exemplo acima, estamos abrindo o arquivo ZIP “projeto.zip” no modo de leitura (‘r’) e extraímos todos os arquivos para o diretório atual.

Conclusão

Neste artigo, exploramos o uso da biblioteca zipfile do Python para trabalhar com arquivos ZIP. Aprendemos o que é um arquivo ZIP e como compactar e descompactar arquivos usando essa biblioteca.

Ao aprender a trabalhar com arquivos ZIP no Python, você poderá aproveitar os benefícios da compactação de arquivos e do agrupamento de vários arquivos em um único arquivo. Isso pode facilitar o compartilhamento, a transferência e a organização de dados em seus projetos.

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.