objectif
Écrire et lire des flux .bz2 avec une bonne compression.
code minimal
import bz2
data = bz2.compress(b"abc")
print(bz2.decompress(data) == b"abc") # attendu: True
utilisation
import bz2, tempfile, pathlib
with tempfile.TemporaryDirectory() as tmp:
p = pathlib.Path(tmp)/"a.txt.bz2"
with bz2.open(p, "wt", encoding="utf-8") as f:
f.write("ok")
with bz2.open(p, "rt", encoding="utf-8") as f:
print(f.read() == "ok")
variante(s) utile(s)
import bz2
print(hasattr(bz2, "open"))
notes
- bz2 offre un compromis entre gzip (rapide) et lzma (compact).
- Accepte mode texte ou binaire comme gzip/lzma.