import tempfile, osf = tempfile.TemporaryFile()f.write(os.urandom(10000000)) - Pastebin.com (original) (raw)

anacrolix

Untitled

Nov 25th, 2011

117

0

Never

Not a member of Pastebin yet? Sign Up, it unlocks many cool features!

  1. import tempfile, os
  2. f = tempfile.TemporaryFile()
  3. f.write(os.urandom(10000000))
  4. f.flush()
  5. BUFSIZE = 10000000
  6. def read():
  7. f.seek(0)
  8. s = b''
  9. while True:
  10. b = f.read(BUFSIZE)
  11. if not b:
  12. break
  13. s += b
  14. return s
  15. def bytearray_read():
  16. f.seek(0)
  17. s = bytearray()
  18. while True:
  19. b = f.read(BUFSIZE)
  20. if not b:
  21. break
  22. s += b
  23. return s
  24. ba = bytearray(os.fstat(f.fileno()).st_size)
  25. mv = memoryview(ba)
  26. def readinto():
  27. f.seek(0)
  28. #~ s = bytearray(os.fstat(f.fileno()).st_size)
  29. o = 0
  30. while True:
  31. b = f.readinto(mv[o:o+BUFSIZE])
  32. if not b:
  33. break
  34. o += b
  35. return mv
  36. if __name__ == '__main__':
  37. assert read() == bytearray_read() == readinto()