Sie können gzip.GzipFile verwenden, um eine Gzip-Komprimierung mit Python-Code durchzuführen. Wenn Sie dies jedoch normal tun, wird diese in eine Datei ausgegeben. Verwenden Sie StringIO.StringIO(dateiähnliches Objekt), um die ausgegebenen Gzip-komprimierten Daten abzurufen.
↓ erfolgt unter Mac OS 10.10.1, Python2.7.11, utf-8. Wenn die Codierung unterschiedlich ist, unterscheidet sich das Ergebnis geringfügig.
>>> from gzip import GzipFile
>>> from StringIO import StringIO
>>> io = StringIO()
>>> with GzipFile(fileobj=io, mode='wb') as f:
... f.write('Daten 1')
... f.write('Daten 2')
... f.write('Daten 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()
Daten 1 Daten 2 Daten 3
Recommended Posts