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 <[email protected]>
<http://bugs.python.org/issue22046>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com