objectif
Écrire et lire des flux compressés .xz (fort taux de compression).
code minimal
import lzma, io
buf = io.BytesIO()
with lzma.open(buf, "wb") as f:
f.write(b"xz")
buf.seek(0)
with lzma.open(buf, "rb") as f:
print(f.read() == b"xz") # attendu: True
utilisation
import lzma, tempfile, pathlib
with tempfile.TemporaryDirectory() as tmp:
p = pathlib.Path(tmp)/"a.txt.xz"
with lzma.open(p, "wt", encoding="utf-8") as f:
f.write("ok")
with lzma.open(p, "rt", encoding="utf-8") as f:
print(f.read() == "ok")
variante(s) utile(s)
import lzma
print(lzma.FORMAT_XZ == 1 or lzma.FORMAT_XZ >= 0)
notes
- lzma offre une forte compression, plus lente que gzip.
- Choisissez le format XZ (par défaut) pour les fichiers .xz.