diff options
Diffstat (limited to 'common.py')
-rw-r--r-- | common.py | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -21,3 +21,12 @@ def decompress_stream(iterable, decompressor): yield data if hasattr(decompressor, "flush"): yield decompressor.flush() + +def yield_chunks(filelike, chunksize=65536): + """Read the given file in chunks of the given size. Returns an itrable + of contents. If the file is binary, it yields bytes, otherwise str.""" + while True: + data = filelike.read(chunksize) + if not data: + break + yield data |