1
0

79_file.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. try:
  2. import os
  3. import io
  4. except ImportError:
  5. print('os is not enabled, skipping test...')
  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. with open('123.txt', 'r') as f:
  41. assert f.read() == '123456' + '测试'
  42. assert os.path.exists('123.txt')
  43. os.remove('123.txt')
  44. assert not os.path.exists('123.txt')
  45. with open('123.bin', 'wb') as f:
  46. f.write('123'.encode())
  47. f.write('测试'.encode())
  48. def f_():
  49. with open('123.bin', 'rb') as f:
  50. b = f.read()
  51. assert isinstance(b, bytes)
  52. assert b == '123测试'.encode()
  53. f_()
  54. assert os.path.exists('123.bin')
  55. os.remove('123.bin')
  56. assert not os.path.exists('123.bin')