StringIO.readline() returns ''

Fredrik Lundh fredrik at pythonware.com
Sun Apr 9 04:13:39 EDT 2006


"Unknown" wrote:

> I'm using StringIO for the first time (to buffer messages recieved from
> a socket). I thought it would be a simple matter of writing the stuff to
> the buffer and then calling readline, but that doesn't seem to work:
>
>  >>> buf = StringIO.StringIO()
>  >>> buf.write("Foo\n")
>  >>> buf.write("Bar\n")
>  >>> buf.flush()
>  >>> buf.readline()
> ''
>
> I expected buf.readline() to return 'Foo\n'. What am I doing wrong?

you forgot to rewind the file:

>>> buf = StringIO.StringIO()
>>> buf.write("Foo\n")
>>> buf.write("Bar\n")
>>> buf.seek(0)
>>>> buf.readline()
'Foo\n'

</F>






More information about the Python-list mailing list