Python Glossary English

Python 3.5+codecsфункция

codecs.namereplace_errors()

обработчики ошибок

Обработчик ошибок 'namereplace': заменяет некодируемый символ его именем из Юникода в виде \N{...}. Работает только при кодировании.

Синтаксис

codecs.namereplace_errors(exception)

Самый читаемый для человека вариант: в логе видно не \u20ac, а \N{EURO SIGN}. Запись совпадает с синтаксисом строкового литерала Python, поэтому результат можно вставить в код. Плата — длина: каждый символ превращается в десятки байтов. Появился в 3.5; при декодировании, как и xmlcharrefreplace, даёт TypeError.

Примеры

print('5€'.encode('ascii', 'namereplace'))  # → b'5\\N{EURO SIGN}'
print('5\N{EURO SIGN}')  # → 5€

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности