Quiero comprimir archivos de texto grandes con python (estoy hablando de archivos de> 20 Gb). no soy ninguna cómo un experto así que traté de recopilar la información que encontré y la siguiente parece que funciona:Compresión de archivos grandes con python
import bz2
with open('bigInputfile.txt', 'rb') as input:
with bz2.BZ2File('bigInputfile.txt.bz2', 'wb', compresslevel = 9) as output:
while True:
block = input.read(900000)
if not block:
break
output.write(block)
input.close()
output.close()
Me pregunto si esta sintaxis es correcta y si hay una manera de optimizarlo? Tengo la impresión de que me falta algo aquí.
Muchas gracias.
¿Cuál es el problema que está teniendo? ¿El archivo que arrojas es correcto? – Daenyth
¿Por qué eligió leer por 900000? – n1r3
Sí, parece que el tamaño sin comprimir corresponde y el formato se ve bien. No confío en todo lo que digo al aprender Python (y TI en general) solo. Gracias. Sí, elijo pensar en el tamaño de los fragmentos utilizados por bzip2, pensé en comprimir mejor un fragmento a la vez, ¿no? – user1242959