Comment gzip compresser une chaîne en Python?
gzip.GzipFile
existe, mais c'est pour les objets de fichier - qu'en est-il des chaînes simples?
Comment gzip compresser une chaîne en Python?
gzip.GzipFile
existe, mais c'est pour les objets de fichier - qu'en est-il des chaînes simples?
Si vous voulez produire une chaîne binaire complète compatible avec gzip
, avec l'en-tête, etc., vous pouvez utiliser gzip.GzipFile
avec StringIO
:
import StringIO
import gzip
out = StringIO.StringIO()
with gzip.GzipFile(fileobj=out, mode="w") as f:
f.write("This is mike number one, isn't this a lot of fun?")
out.getvalue()
# returns '\x1f\x8b\x08\x00\xbd\xbe\xe8N\x02\xff\x0b\xc9\xc8,V\x00\xa2\xdc\xcc\xecT\x85\xbc\xd2\xdc\xa4\xd4"\x85\xfc\xbcT\x1d\xa0X\x9ez\x89B\tH:Q!\'\xbfD!?M!\xad4\xcf\x1e\x00w\xd4\xea\xf41\x00\x00\x00'
Le moyen le plus simple est le codage zlib
:
compressed_value = s.encode("zlib")
Ensuite, vous le décompressez avec:
plain_string_again = compressed_value.decode("zlib")
Choisissez un module approprié dans http://docs.python.org/library/archiving.html - soit gzip ou zlib, en fonction de vos besoins.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.