[docs] [issue22046] ZipFile.read() should mention that it might throw NotImplementedError

Ezio Melotti report at bugs.python.org
Wed Aug 6 05:11:46 CEST 2014

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.

Do you have any opinion on the aforementioned inconsistency?

Did you actually manage to get a NotImplementedError from ZipFile.read() or from somewhere else?

assignee: docs at python -> ezio.melotti
nosy: +ezio.melotti, loewis, serhiy.storchaka

Python tracker <report at bugs.python.org>

More information about the docs mailing list