Python: Módulo: gzip
Desde Python podemos leer ficheros comprimidos con gzip para procesarlos, hay que tener en cuenta la codificación del fichero.
In [1]: import gzip
In [2]: fichero = gzip.open("fichero.log.gz", "rb")
In [3]: contenido = fichero.read()
In [4]: contenido
Out[4]: b'l1nea 1
línea 2
línea 3
'
In [5]: print(contenido)
b'l1nea 1
línea 2
línea 3
'
In [6]: print(contenido.decode('utf8'))
l1nea 1
línea 2
línea 3
Desde Python podemos escribir ficheros comprimidos con gzip para procesarlos, es importante que el write solo permite binarios, por eso necesitamos el encode (aquí uso utf8 para las tíldes ya que ascii no las permite).
In [1]: import gzip
In [2]: fichero = gzip.open("fichero.log.gz", "wb")
In [3]: fichero.write(b"linea 1
")
Out[3]: 8
In [4]: cadena = "línea 2
línea3
"
In [5]: fichero.write(cadena.encode('utf'))
Out[5]: 15
In [6]: fichero.close
Out[6]: <bound method GzipFile.close of <gzip _io.BufferedWriter name='fichero.log.gz' 0x7fa39e5b9898>>
Enlace a la documentación GZIP.