Vous pouvez utiliser gzip.GzipFile pour effectuer une compression Gzip avec du code Python, mais si vous le faites normalement, elle sera sortie dans un fichier. Utilisez StringIO.StringIO(objet de type fichier) pour récupérer les données compressées Gzip de sortie.
↓ se fait sur Mac OS 10.10.1, Python2.7.11, utf-8. Si l'encodage est différent, le résultat sera légèrement différent.
>>> from gzip import GzipFile
>>> from StringIO import StringIO
>>> io = StringIO()
>>> with GzipFile(fileobj=io, mode='wb') as f:
... f.write('Données 1')
... f.write('Données 2')
... f.write('Données 3')
>>> io.getvalue()
'\x1f\x8b\x08\x00JM\rX\x02\xff{\xdc\xdc\xfe\xb8y\xcf\xe3\xa6\xfd\xef\xf7L|\x8c`OBbO\x06\x00\xb9M\x7f\xca$\x00\x00\x00'
>>> io = StringIO()
>>> io.write('\x1f\x8b\x08\x00JM\rX\x02\xff{\xdc\xdc\xfe\xb8y\xcf\xe3\xa6\xfd\xef\xf7L|\x8c`OBbO\x06\x00\xb9M\x7f\xca$\x00\x00\x00')
>>> io.seek(0)
>>> with GzipFile(fileobj=io, mode='rb') as f:
... print f.read()
Données 1 Données 2 Données 3
Recommended Posts