How to create a file-like object (the same type of duck as the File), with the contents of the line?
For Python 2.x, use the StringIO module. For example:
>>> from cStringIO import StringIO >>> f = StringIO('foo') >>> f.read() 'foo'
I use cStringIO (this is faster), but note that it does not accept Unicode strings that cannot be encoded as plain ASCII strings . (You can switch to StringIO by changing "from cStringIO" to "from StringIO".)
For Python 3.x, use the io module.
io
f = io.StringIO('foo')
In Python 3.0:
import io with io.StringIO() as f: f.write('abcdef') print('gh', file=f) f.seek(0) print(f.read())
Two good answers. Id add a little trick - if you need a real file object (some methods expect it, not just an interface), here is a way to create an adapter: