Abrir un archivo zip sin extraerlo en Python

Najwa Riyaz 10 octubre 2023
  1. Utilice la función zipfile.ZipFile() para abrir un archivo zip sin extraerlo temporalmente en Python
  2. Utilice la función ZipFile.open() para abrir un archivo zip sin extraerlo temporalmente en Python
Abrir un archivo zip sin extraerlo en Python

Este artículo explica cómo abrir un archivo zip sin extraerlo temporalmente en el software Python. Para abrir un archivo zip sin extraerlo temporalmente en Python, use la biblioteca Python zipfile.

Para ello, importe la biblioteca estándar zipfile. Luego, use cualquiera de las siguientes funciones.

  • Utilice la función zipfile.ZipFile() en modo lectura.
  • Utilice la función ZipFile.open() en modo lectura.

Antes de comenzar, prepare el archivo zip. Siga los pasos a continuación.

  • Prepara un archivo de texto llamado mail.txt con algún contenido dentro de él como:
    This is from mail.txt
    
  • Comprime el archivo mail.txt.
  • Nombre el archivo zip como mail.zip.

Utilice la función zipfile.ZipFile() para abrir un archivo zip sin extraerlo temporalmente en Python

A continuación se muestra un programa de ejemplo que le muestra cómo abrir un archivo zip sin extraerlo temporalmente en Python. Utilice la función zipfile.ZipFile() en modo lectura de la siguiente manera.

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

Aquí, el file es:

  • Una ruta a un archivo (una cadena)
  • Un objeto similar a un archivo
  • Un objeto parecido a una ruta

Por ejemplo,

import zipfile

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

Producción :

b'This is from mail.txt'

Utilice la función ZipFile.open() para abrir un archivo zip sin extraerlo temporalmente en Python

Aquí hay un ejemplo que demuestra cómo abrir un archivo zip sin extraerlo temporalmente en Python.

Aquí, usamos la función open() en modo lectura.

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

El miembro del archivo zip se trata como un objeto similar a un archivo binario. El name aquí puede ser:

  • El nombre de un archivo dentro del zip
  • Un objeto ZipInfo

He aquí un ejemplo.

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())

Producción :

b'This is from mail.txt'

Artículo relacionado - Python File