Leer archivo gzip en Python

Zeeshan Afridi 21 junio 2023
  1. el módulo gzip en Python
  2. Importancia de comprimir un archivo
  3. Comprimir un archivo con gzip en Python
  4. Leer desde un archivo gzip en Python
  5. Descomprimir archivo gzip en Python
Leer archivo gzip en Python

Este tutorial analiza la importancia de comprimir un archivo e ilustra cómo comprimir y descomprimir un archivo utilizando el módulo gzip de Python.

el módulo gzip en Python

Este módulo proporciona una interfaz sencilla para comprimir y descomprimir archivos como los programadores GNU gzip y gunzip. El módulo gzip ofrece la clase GzipFile, así como los métodos de conveniencia open(), compress() y decompress().

El módulo gzip lee y escribe archivos en formato gzip, comprimiendo o descomprimiendo el contenido para que parezcan objetos de archivo convencionales.

El ‘gzip’ es uno de los formatos de compresión/descompresión de archivos más utilizados. Los archivos de texto pueden ahorrar significativamente espacio de almacenamiento utilizando la compresión gzip. Cuando se trabaja con archivos de datos grandes, es una práctica común gzip o comprimir archivos de texto grandes para reducir el tamaño del archivo.

Descomprimir un archivo gzip comprimido y editar línea por línea un archivo descomprimido mucho más grande es fundamental para trabajar con archivos comprimidos. Sin embargo, esa no puede ser la opción más excelente.

Importancia de comprimir un archivo

El hardware de almacenamiento reducido, los tiempos de transferencia de datos y el ancho de banda de comunicación son solo algunos de los beneficios de la compresión. Además, esto podría resultar en ahorros financieros significativos.

Los archivos comprimidos necesitan mucho menos espacio de almacenamiento que los archivos sin comprimir, lo que reduce significativamente el costo de almacenamiento. Además, un archivo comprimido se transfiere más rápidamente mientras utiliza menos capacidad de red.

Esto puede ahorrar gastos mientras aumenta la productividad. El principal inconveniente de la compresión de datos es que utiliza más potencia informática para comprimir los datos necesarios.

Como resultado, los proveedores de compresión otorgan un gran valor a la maximización de la velocidad y la eficiencia de los recursos para disminuir el efecto de las actividades intensivas de compresión. Como resultado, los costos pueden reducirse mientras aumenta la productividad.

Comprimir un archivo con gzip en Python

En el siguiente ejemplo, abrir un archivo de texto en modo wb significa que el archivo está abierto para escribir en modo binario. Así que aquí, el archivo test.txt se cambia a test.txt.gz.

Código de ejemplo:

import gzip

f_in = open("test.txt", "rb")
f_out = gzip.open("test.txt.gz", "wb")
f_out.writelines(f_in)
f_out.close()
f_in.close()
print("The file is compressed.")

Producción :

The file is compressed.

Adición de datos durante el uso del módulo gzip

En el código a continuación, se muestra que podemos agregar cualquier dato que queramos agregar en el archivo existente test.txt.gz, pero solo podemos agregar datos en modo binario, por lo que hemos usado b al principio del texto, y se muestra un mensaje añadido con éxito.

Código de ejemplo:

import gzip

data = b"Information included in this file."
with gzip.open("test.txt.gz", "wb") as f:
    f.write(data)
    print("successfully added")

Producción :

successfully added

Leer desde un archivo gzip en Python

Podemos leer el archivo en el siguiente código ya que hemos agregado texto en formato binario. Luego, muestra ese texto en la salida como se muestra. El archivo binario se abre para lectura en modo rb, por lo que hemos utilizado rb para abrir el archivo.

Código de ejemplo:

import gzip

with gzip.open("test.txt.gz", "rb") as f:
    for line in f:
        print(line)

Producción :

b'Information included in this file.'

Descomprimir archivo gzip en Python

En el siguiente ejemplo, primero abriremos el archivo descomprimido, luego el archivo comprimido y luego usaremos shutil para copiar los objetos del archivo descomprimido al archivo comprimido.

Código de ejemplo:

import gzip
import shutil

with gzip.open("test.txt.gz", "rb") as f_in:
    with open("test.txt", "wb") as f_out:
        shutil.copyfileobj(f_in, f_out)
print("The file is Decompressed.")

Producción :

The file is Decompressed.

Aquí hay algunas cosas esenciales que debe recordar. Primero, para crear un archivo gzip, tenemos que convertir un archivo de texto en un archivo gz; básicamente, debes comprimir el archivo.

Puede escribir el archivo en modo binario solo wb, leer el archivo en modo binario rb y descomprimir el archivo comprimido.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Artículo relacionado - Python File