Skip to content

Archives

  • Janeiro 2022
  • Dezembro 2021
  • Novembro 2021
  • Outubro 2021
  • Setembro 2021

Categories

  • Sem categorias
Trend RepositoryArticles and guides
Articles

Python Unzip File: Como extrair arquivos simples ou múltiplos

On Setembro 24, 2021 by admin

Python ZipFile é uma classe de módulo zipfile para leitura e escrita de arquivos zip. ZIP é o formato de arquivo que suporta compressão de dados sem perdas.

Por compressão sem perdas, queremos dizer que o algoritmo de compressão permite que os dados originais sejam inteiramente reconstruídos a partir dos dados comprimidos.

Um arquivo ZIP é um único arquivo contendo um ou mais arquivos compactados, oferecendo uma maneira fácil de fazer arquivos grandes menores e manter os arquivos relacionados juntos.

  • Python unzip file
  • Syntax
  • Exemplo de Python unzip
  • Output
  • Extrair todos os arquivos de um arquivo zip para um diretório diferente
  • Output
  • Extract files from a large zip file based on the condition
  • Conclusion
  • Veja Também

Python unzip file

Para trabalhar com arquivos zip usando Python, usaremos um módulo python embutido chamado zipfile. No módulo zipfile do Python, a classe ZipFile fornece uma função de membro para extrair todo o conteúdo do arquivo ZIP.

Para descompactar um arquivo em Python, use o método ZipFile.extractall(). O método extractall() toma um caminho, membros, pwd como argumento, e extrai todo o conteúdo.

Syntax

ZipFile.extractall(path=None, members=None, pwd=None)

Aceita os seguintes parâmetros :

  1. caminho: local onde o arquivo zip precisa ser extraído; se não for fornecido, ele irá extrair o conteúdo no diretório atual.
  2. members: lista de arquivos a serem extraídos. Ele irá extrair todos os arquivos no zip se este argumento não for fornecido.
  3. pwd: Se o arquivo zip for criptografado, então passe a senha neste argumento por padrão é None.

Exemplo de Python unzip

Dizemos que, no meu diretório de trabalho atual, eu tenho um arquivo zip chamado Mail3.zip, e eu quero descompactá-lo usando o ZipFile.extractall() method.

Veja o seguinte código.

# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObj: # Extract all the contents of zip file in current directory zipObj.extractall()

Output

python3 app.py

Extrairá os ficheiros no mesmo directório que o seu ficheiro app.py de programação.

Extrairá todos os ficheiros no zip do directório actual. Se os ficheiros com o mesmo nome já estiverem presentes no local de extracção, ele irá sobregravar esses ficheiros.

Usamos Python com comando para abrir os arquivos. O “Python com” assegura que os descritores de ficheiros abertos são fechados automaticamente após a execução do programa deixar o contexto do com comando.

Extrair todos os arquivos de um arquivo zip para um diretório diferente

Nós podemos extrair todos os arquivos do arquivo zip para um diretório diferente, e para fazer isso, precisamos passar o local de destino como um argumento em extractall(). O caminho pode ser relativo ou absoluto.

Veja o seguinte código.

# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObj: # Extract all the contents of zip file in different directory zipObj.extractall('temp') print('File is unzipped in temp folder') 

Aqui, um objeto ZipFile é feito chamando um construtor de ZipFile, que aceita o nome do arquivo zip e os parâmetros de modo. Criamos o objeto ZipFile em modo READ e o nomeamos como zipObj.

Na saída. Se a pasta temp não estiver lá, ela criará essa pasta no diretório atual e descompactará todo o conteúdo do arquivo Mail3.zip.

Output

python3 app.pyFile is unzipped in temp folder

Extract files from a large zip file based on the condition

Vamos dizer que temos um enorme arquivo zip, e precisamos de alguns arquivos de milhares de arquivos no arquivo. Descompactar todos os ficheiros de um grande ficheiro zip pode demorar minutos. Mas se você estiver interessado em apenas alguns dos arquivos arquivados, então ao invés de descompactar o arquivo inteiro, podemos extrair o único arquivo também do arquivo zip.

Python ZipFile class provides a member function to extract a single from a ZIP File.

ZipFile.extract(member, path=None, pwd=None)

See o seguinte código.

# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObject: listOfFileNames = zipObject.namelist() for fileName in listOfFileNames: if fileName.endswith('.py'): # Extract a single file from zip zipObject.extract(fileName, 'temp_py') print('All the python files are extracted')

Se os nomes dos arquivos tiverem a extensão .py, então ele irá extrair dentro da pasta temp_py. Caso contrário, ele não irá extrair os arquivos.

Conclusion

Unzip files in Python é muito fácil porque Python fornece o módulo zipfile.

O módulo zipfile tem todas as funções de descompactar arquivos simples ou múltiplos com base nas condições.

Finalmente, Python Unzip: Como Extrair Arquivos Simples ou Múltiplos terminou o tutorial.

Veja Também

Python zip()

Python zip lista de listas

Python zip dicionário

Unzip Python tuples

Python lista para dataframe

Python lista para dicionário

Deixe uma resposta Cancelar resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Arquivo

  • Janeiro 2022
  • Dezembro 2021
  • Novembro 2021
  • Outubro 2021
  • Setembro 2021

Meta

  • Iniciar sessão
  • Feed de entradas
  • Feed de comentários
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress