The StringIO Module
The stringio
module shown in Example 2-8 implements an in-memory file object. This object can be
used as input or output to most functions that expect a standard file
object.
Example 2-8. Using the StringIO Module to Read from a Static File
File: stringio-example-1.py
import StringIO
MESSAGE = "That man is depriving a village somewhere of a computer scientist."
file = StringIO.StringIO(MESSAGE)
print file.read()
That man is depriving a village somewhere of a computer scientist.
The StringIO class implements memory file versions of all
methods available for built-in file objects, plus a
getvalue
method that returns the internal string
value. Example 2-9 demonstrates this method.
Example 2-9. Using the StringIO Module to Write to a Memory File
File: stringio-example-2.py
import StringIO
file = StringIO.StringIO()
file.write("This man is no ordinary man. ")
file.write("This is Mr. F. G. Superman.")
print file.getvalue()
This man is no ordinary man. This is Mr. F. G. Superman.
StringIO
can be used to capture redirected
output from the Python interpreter, as shown in Example 2-10.
Example 2-10. Using the StringIO Module to Capture Output
File: stringio-example-3.py import StringIO import string, sys stdout = sys.stdout sys.stdout = file = StringIO.StringIO() print """ According to Gbaya folktales, trickery and guile are the best ways to defeat the python, king of snakes, which was hatched from a dragon at the world's start. -- National Geographic, May 1997 """ sys.stdout ...
Get Python Standard Library now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.