792_file.py 1.5 KB

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