with read open descomprimir decompress create comprimir compress python large-files decompression

open - read zip python



python: lee lĂ­neas de archivos de texto comprimidos (3)

Podrías usar el módulo gzip estándar en python. Solo usa:

gzip.open(''myfile.gz'')

para abrir el archivo como cualquier otro archivo y leer sus líneas.

Más información aquí: Python gzip module

¿Es fácil leer una línea de un archivo de texto comprimido con gz usando python sin extraer el archivo completamente? Tengo un archivo text.gz que es de 200 MB. Cuando lo extraigo, se convierte en 7.4gb. Y este no es el único archivo que tengo que leer. Para el proceso total, tengo que leer 10 archivos. Aunque este será un trabajo secuencial, creo que será inteligente hacerlo sin extasiar toda la información. Ni siquiera sé que es posible. ¿Cómo se puede hacer usando python? Necesito leer un archivo de texto línea por línea.


Usando gzip.GzipFile :

import gzip with gzip.open(''input.gz'',''rt'') as f: for line in f: print(''got line'', line)

Nota: gzip.open(filename, mode) es un alias para gzip.GzipFile(filename, mode) . Prefiero el primero, ya que se parece a with open(...) as f: usa para abrir archivos sin comprimir.


¿Has intentado usar gzip.GzipFile ? Los argumentos son similares a open .