← retour aux snippets

io: StringIO et BytesIO (buffers en mémoire)

Simuler des fichiers texte/binaires en mémoire, pratique pour tests.

python io #io

objectif

Simuler des fichiers texte/binaires en mémoire, pratique pour tests.

code minimal

import io
s = io.StringIO("abc"); b = io.BytesIO(b"abc")
print(s.read() == "abc" and b.read() == b"abc")  # attendu: True

utilisation

import io
buf = io.StringIO()
print(buf.write("x") == 1)

variante(s) utile(s)

import io
bio = io.BytesIO(); bio.write(b"\x00\x01"); bio.seek(0)
print(bio.read(2) == b"\x00\x01")

notes

  • Utilisez StringIO pour du texte (str) et BytesIO pour du binaire (bytes).
  • Réinitialisez la position avec seek(0) pour relire depuis le début.