Serhiy Storchaka added the comment: > # Using zlib's interface > while not d.eof: > compressed = d.unconsumed_tail or f.read(8192) > if not compressed: > raise ValueError('End-of-stream marker not found') > output = d.decompress(compressed, 8192) > # <process output>
This is not usable with bzip2. Bzip2 uses large block size and unconsumed_tail can be non empty but decompress() will return b''. With zlib you possible can see the same effect on some input when read by one byte. > A related, but orthogonal proposal: We might want to make unconsumed_tail > a memoryview (provided the input data is know to be immutable), to avoid > creating an unnecessary copy of the data. It looks interesting. However the data should be copied anyway if the input data is not a bytes object. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue15955> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com