The StringIO and cStringIO Modules
You can implement file-like objects by
writing Python classes that supply the methods you need. If all you
want is for data to reside in memory rather than on a file as seen by
the operating system, you can use the StringIO or
cStringIO module. The two modules are almost
identical: each supplies a factory function to create in-memory
file-like objects. The difference between them is that objects
created by module StringIO are instances of class
StringIO.StringIO. You may inherit from this class
to create your own customized file-like objects, overriding the
methods that you need to specialize. Objects created by module
cStringIO, on the other hand, are instances of a
special-purpose type, not of a class. Performance is much better when
you can use cStringIO, but inheritance is not
feasible. Furthermore, cStringIO does not support
Unicode.
Each module supplies a factory function named
StringIO that creates a file-like object
fl.