Python Glossary English

все Python 3codecsфункция

codecs.ignore_errors()

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

Обработчик ошибок 'ignore': выбрасывает символы и байты, которые не удалось закодировать или декодировать, и продолжает работу.

Синтаксис

codecs.ignore_errors(exception)

Самый опасный из обработчиков: данные теряются бесследно, и по результату не понять, что что-то пропало. Если файл в cp1251 прочитать как utf-8 с errors='ignore', кириллица исчезнет целиком, а программа «успешно» отработает. Для диагностики лучше 'replace' или 'backslashreplace' — они хотя бы оставляют след.

Примеры

data = 'Привет, world'.encode('cp1251')
print(data.decode('utf-8', 'ignore'))  # → , world
print(data.decode('cp1251'))  # → Привет, world
import codecs
try:
    'é'.encode('ascii')
except UnicodeEncodeError as err:
    print(codecs.ignore_errors(err))  # → ('', 1)

См. также

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