Last active
November 9, 2022 14:29
-
-
Save wkettler/07b4d3bb2a3b211b630cd7eef371c8f0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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