1try: 2 import uio as io 3except ImportError: 4 import io 5 6a = io.StringIO() 7print('io.StringIO' in repr(a)) 8print(a.getvalue()) 9print(a.read()) 10 11a = io.StringIO("foobar") 12print(a.getvalue()) 13print(a.read()) 14print(a.read()) 15 16a = io.StringIO() 17a.write("foo") 18print(a.getvalue()) 19 20a = io.StringIO("foo") 21a.write("12") 22print(a.getvalue()) 23 24a = io.StringIO("foo") 25a.write("123") 26print(a.getvalue()) 27 28a = io.StringIO("foo") 29a.write("1234") 30print(a.getvalue()) 31 32a = io.StringIO() 33a.write("foo") 34print(a.read()) 35 36a = io.StringIO() 37print(a.tell()) 38a.write("foo") 39print(a.tell()) 40 41a = io.StringIO() 42a.close() 43for f in [a.read, a.getvalue, lambda:a.write("")]: 44 # CPython throws for operations on closed I/O, MicroPython makes 45 # the underlying string empty unless MICROPY_CPYTHON_COMPAT defined 46 try: 47 f() 48 print("ValueError") 49 except ValueError: 50 print("ValueError") 51