New submission from Jim Jewett <[email protected]>:
Recent discussion on the mailing lists and in http://bugs.python.org/issue13997
make it clear that the best way to get python2 results for
"ASCII-in-the-parts-I-might-process-or-change" is to replace
f = open(fname)
with
f = open(fname, encoding="ascii", errors="surrogateescape")
Unfortunately, surrogateescape (let alone this recipe) is not easily
discoverable.
http://docs.python.org/dev/library/functions.html#open lists 5 error-handlers
-- but not this one. It says that other error handlers are possible if they
are registered with
http://docs.python.org/dev/library/codecs.html#codecs.register_error but I
haven't found a way to determine which error handlers are already registered.
The codecs.register (as opposed to register_error) documentation does list it
as a possible value, but that is the only reference.
The other 5 error handlers are also available as module-level functions within
the codecs module, and have their own documenation sections within
http://docs.python.org/dev/library/codecs.html
Neither help(open) nor import codecs; help(codecs) provides any hints of the
existence of surrogateescape. Both explicitly suggest that it does not exist,
by enumerating other values.
----------
assignee: docs@python
components: Documentation, Unicode
messages: 153359
nosy: Jim.Jewett, docs@python, ezio.melotti
priority: normal
severity: normal
status: open
title: surrogateescape largely missing from documentation
versions: Python 3.1, Python 3.2, Python 3.3
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue14015>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com