objectif
Ouvrir en gzip pour écrire/lire en binaire ou texte.
code minimal
import gzip, io
buf = io.BytesIO()
with gzip.GzipFile(fileobj=buf, mode="wb") as f:
f.write(b"hello")
data = gzip.decompress(buf.getvalue())
print(data == b"hello") # attendu: True
utilisation
import gzip, tempfile, pathlib
with tempfile.TemporaryDirectory() as tmp:
p = pathlib.Path(tmp)/"d.txt.gz"
with gzip.open(p, "wt", encoding="utf-8") as f:
f.write("ok")
with gzip.open(p, "rt", encoding="utf-8") as f:
print(f.read() == "ok")
variante(s) utile(s)
import gzip
print(hasattr(gzip, "open"))
notes
- Utilisez “wt”/“rt” pour texte, “wb”/“rb” pour binaire.
- GzipFile accepte fileobj= pour travailler en mémoire.