On 26.10.16 23:47, Peter Otten wrote:
def mynamereplace(exc):
return u"".join(
"\\N{%s}" % unicodedata.name(c)
for c in exc.object[exc.start:exc.end]
), exc.end
codecs.register_error("namereplace", mynamereplace)
Not all characters has standard name. This fails with say '\x80'. Use
backslash escaping as a fallback:
try:
ascii
except NameError:
ascii = repr
def mynamereplace(exc):
repl = []
for c in exc.object[exc.start:exc.end]:
try:
repl.append("\\N{%s}" % unicodedata.name(c))
except ValueError:
repl.append(ascii(c)[1:-1])
return u"".join(repl), exc.end
--
https://mail.python.org/mailman/listinfo/python-list