Skip to content

Instantly share code, notes, and snippets.

@wkettler
Last active November 9, 2022 14:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wkettler/07b4d3bb2a3b211b630cd7eef371c8f0 to your computer and use it in GitHub Desktop.
Save wkettler/07b4d3bb2a3b211b630cd7eef371c8f0 to your computer and use it in GitHub Desktop.
class ZeroFile():
def __init__(self, file_size):
self.file_size = file_size
self._buf = b'\0'
self.position = 0
def tell(self):
return self.position
def read(self, size=-1):
remaining = self.file_size - self.position
if remaining == 0:
return b''
if not size or size < 0:
size = remaining
else:
size = min(size, remaining)
self.position += size
return b'\0' * size
def seek(self, offset, whence=0):
if whence == 0:
self.position = 0 + offset
if whence == 1:
self.position = self.position + offset
if whence == 2:
self.position = self.file_size + offset
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment