io_stringio1.py 828 B

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