Skip to content

Instantly share code, notes, and snippets.

@hrchu
Last active August 29, 2015 14:08
Show Gist options
  • Save hrchu/c964f18d60b44f0bb9af to your computer and use it in GitHub Desktop.
Save hrchu/c964f18d60b44f0bb9af to your computer and use it in GitHub Desktop.
Emulate large file in python, with file-like object interface and without memory overload
file_size=5*2**30 #5GB
class FakeFile:
def __init__(self):
self.remain_size=file_size
def read(self, size):
if self.remain_size == 0:
return None
elif self.remain_size >= size:
self.remain_size-=size
return 'x'*size
elif self.remain_size < size:
tail_size = self.remain_size
self.remain_size = 0
return 'x'*tail_size
def tell(self):
return 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment