# Tests StringIO and cStringIO def do_test(module): s = ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+'\n')*5 f = module.StringIO(s) print f.read(10) print f.readline() print len(f.readlines(60)) f = module.StringIO() f.write(s) f.seek(10) f.truncate() print `f.getvalue()` f.seek(0) f.truncate(5) print `f.getvalue()` f.close() try: f.write("frobnitz") except ValueError, e: print "Caught expected ValueError writing to closed StringIO:" print e else: print "Failed to catch ValueError writing to closed StringIO." # Don't bother testing cStringIO without import StringIO, cStringIO do_test(StringIO) do_test(cStringIO)