Convert StringIO to string

skryskalla at gmail.com skryskalla at gmail.com
Mon Oct 16 08:59:47 EDT 2006


Jonathan Bowlas wrote:
> But obviously replace() isn't an attribute of StringIO so I guess I need to
> convert it to a string first, can someone please advise how I can do this?

StringIO objects are file-like objects, so you need to use read or
readlines to get the string data out of it (just like a regular file).
Before reading remember to seek back to the beginning to get all of the
data ("Be kind, rewind!"):

>>> import StringIO
>>> s = StringIO.StringIO()
>>> s.write("hello world\n")
>>> s.seek(0)
>>> s.read()
'hello world\n'

>>> s = StringIO.StringIO()
>>> s.write("hello world\n")
>>> s.read()
''




More information about the Python-list mailing list