70_file.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. try:
  2. import os
  3. import io
  4. print("[`os` Test Enabled]")
  5. except ImportError:
  6. exit(0)
  7. a = open('123.txt', 'wt')
  8. a.write('123')
  9. a.write('456')
  10. a.close()
  11. with open('123.txt', 'rt') as f:
  12. assert f.read() == '123456'
  13. with open('123.txt', 'rt') as f:
  14. assert f.read(3) == '123'
  15. assert f.tell() == 3
  16. assert f.read(3) == '456'
  17. assert f.tell() == 6
  18. assert f.read(3) == '' # EOF
  19. assert f.tell() == 6
  20. with open('123.txt', 'rb') as f:
  21. assert f.read(2) == b'12'
  22. assert f.tell() == 2
  23. assert f.read(2) == b'34'
  24. assert f.tell() == 4
  25. assert f.read(2) == b'56'
  26. assert f.tell() == 6
  27. assert f.read(2) == b'' # EOF
  28. assert f.tell() == 6
  29. # test fseek
  30. with open('123.txt', 'rt') as f:
  31. f.seek(0, io.SEEK_END)
  32. assert f.tell() == 6
  33. assert f.read() == ''
  34. f.seek(3, io.SEEK_SET)
  35. assert f.tell() == 3
  36. assert f.read() == '456'
  37. assert f.tell() == 6
  38. with open('123.txt', 'a') as f:
  39. f.write('测试')
  40. # default mode is 'r'
  41. with open('123.txt') as f:
  42. assert f.read() == '123456' + '测试'
  43. assert os.path.exists('123.txt')
  44. os.remove('123.txt')
  45. assert not os.path.exists('123.txt')
  46. with open('123.bin', 'wb') as f:
  47. f.write('123'.encode())
  48. f.write('测试'.encode())
  49. def f_():
  50. with open('123.bin', 'rb') as f:
  51. b = f.read()
  52. assert isinstance(b, bytes)
  53. assert b == '123测试'.encode()
  54. f_()
  55. assert os.path.exists('123.bin')
  56. os.remove('123.bin')
  57. assert not os.path.exists('123.bin')