Abra um arquivo Zip sem extraí-lo em Python

Najwa Riyaz 10 outubro 2023
  1. Use a função zipfile.ZipFile() para abrir um arquivo Zip sem extraí-lo temporariamente em Python
  2. Use a função ZipFile.open() para abrir um arquivo Zip sem extraí-lo temporariamente em Python
Abra um arquivo Zip sem extraí-lo em Python

Este artigo explica como abrir um arquivo zip sem extraí-lo temporariamente no software Python. Para abrir um arquivo zip sem extraí-lo temporariamente em Python, use a biblioteca Python zipfile.

Para isso, importe a biblioteca padrão zipfile. Em seguida, use uma das seguintes funções.

  • Use a função zipfile.ZipFile() no modo de leitura.
  • Use a função ZipFile.open() no modo de leitura.

Antes de começar, prepare o arquivo zip. Siga as etapas abaixo.

  • Prepare um arquivo de texto denominado mail.txt com algum conteúdo dentro dele como:
    This is from mail.txt
    
  • Compacte o arquivo mail.txt.
  • Nomeie o arquivo zip como mail.zip.

Use a função zipfile.ZipFile() para abrir um arquivo Zip sem extraí-lo temporariamente em Python

Abaixo está um programa de exemplo que mostra como abrir um arquivo zip sem extraí-lo temporariamente em Python. Use a função zipfile.ZipFile() no modo de leitura da seguinte maneira.

zipfile.ZipFile(file, mode="r")

Aqui, o file é:

  • Um caminho para um arquivo (uma string)
  • Um objeto semelhante a um arquivo
  • Um objeto semelhante a um caminho

Por exemplo,

import zipfile

archive = zipfile.ZipFile("mail.zip", "r")
# Let us verify the operation..
txtdata = archive.read("mail.txt")
print(txtdata)

Resultado:

b'This is from mail.txt'

Use a função ZipFile.open() para abrir um arquivo Zip sem extraí-lo temporariamente em Python

Aqui está um exemplo que demonstra como abrir um arquivo zip sem extraí-lo temporariamente em Python.

Aqui, usamos a função open() no modo de leitura.

ZipFile.open(name, mode="r")

O membro do arquivo zip é tratado como um objeto semelhante a um arquivo binário. O name aqui pode ser:

  • O nome de um arquivo dentro do zip
  • Um objeto ZipInfo

Aqui está um exemplo.

import zipfile

with zipfile.ZipFile("mail.zip") as thezip:
    with thezip.open("mail.txt", mode="r") as thefile:
        # Let us verify the operation..
        print(thefile.read())

Resultado:

b'This is from mail.txt'

Artigo relacionado - Python File