Nick Coghlan added the comment: Ah, came up with a relatively simple solution based on an internal helper function with an optional output flag:
>>> import codecs >>> codecs.encode(b"hello", "bz2_codec").decode("bz2_codec") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'bz2_codec' decoder returned 'bytes' instead of 'str'; use codecs.decode to decode to arbitrary types >>> "hello".encode("bz2_codec") TypeError: 'str' does not support the buffer interface The above exception was the direct cause of the following exception: Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: invalid input type for 'bz2_codec' codec (TypeError: 'str' does not support the buffer interface) >>> "hello".encode("rot_13") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'rot_13' encoder returned 'str' instead of 'bytes'; use codecs.encode to encode to arbitrary types ---------- Added file: http://bugs.python.org/file32497/issue17828_improved_codec_errors_v2.diff _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue17828> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com