Ezio Melotti added the comment: After further investigation it seems to me that read can't raise NotImplementedError. ZipFile also won't raise it, but will raise a RuntimeError: >>> zipfile.ZipFile('spam.zip', 'w', compression=zipfile.ZIP_BZIP2) RuntimeError: Compression requires the (missing) bz2 module
By looking at the code, ZipFile calls _check_compression (Lib/zipfile.py:904) and _check_compression raises RuntimeError (Lib/zipfile.py:579). ZipExtFile calls _get_decompressor (Lib/zipfile.py:651) and _get_decompressor raises NotImplemented (Lib/zipfile.py:610). This behavior seems inconsistent and perhaps should be fixed (in this case a new issue should be created), however this will probably be backward-incompatible. Regardless of this, it seems that currently NotImplementedError can be raised in some situations, and the zipfile docs don't mention it, so the doc can still be improved. @Martin Do you have any opinion on the aforementioned inconsistency? @Jason Did you actually manage to get a NotImplementedError from ZipFile.read() or from somewhere else? ---------- assignee: docs@python -> ezio.melotti nosy: +ezio.melotti, loewis, serhiy.storchaka _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue22046> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com