42.5 Dateiinterface für Strings – io.StringIO 

Das Modul io der Standardbibliothek enthält die Klasse StringIO, die die Schnittstelle eines Dateiobjekts bereitstellt, intern aber auf einem String arbeitet.
Das ist beispielsweise dann nützlich, wenn eine Funktion ein geöffnetes Dateiobjekt als Parameter erwartet, um dort hineinzuschreiben, Sie die geschriebenen Daten aber lieber in Form eines Strings vorliegen haben würden. Hier kann in der Regel eine StringIO-Instanz übergeben werden, sodass die geschriebenen Daten danach als String weiterverwendet werden können.
>>> from io import StringIO
>>> pseudodatei = StringIO()
Dem Konstruktor kann optional ein String übergeben werden, der den anfänglichen Inhalt der Datei enthält. Von nun an kann die zurückgegebene Instanz, referenziert durch pseudodatei, wie ein Dateiobjekt verwendet werden.
>>> pseudodatei.write("Hallo Welt")
10
>>> print(" Hallo Welt", file=pseudodatei)
Neben der Funktionalität eines Dateiobjekts bietet eine Instanz der Klasse StringIO eine zusätzliche Methode namens getvalue, durch die auf den internen String zugegriffen werden kann:
>>> pseudodatei.getvalue()
'Hallo Welt Hallo Welt\n'
Ebenso wie ein Dateiobjekt sollte eine StringIO-Instanz durch Aufruf der Methode close geschlossen werden, wenn sie nicht mehr gebraucht wird.
>>> pseudodatei.close()