contextlib.suppress
Возвращает менеджер контекста, подавляющий указанные типы исключений.
contextlib.suppress(*exceptions)
*exceptions -- Типы исключений, которые следует оставить без внимания.
Возвращает менеджер контекста, который подавит указанные типы исключений, если они произойдут в ходе выполнения тела инструкции with, при этом исполнение продолжится с кода, следующего за инструкцией.
Созданный объект менеджера является реентерабельным. Это означает, что в рамках одного блока
Внимание
Как и любой другой механизм подавления исключений, упомянутый менеджер контекста должен использоваться лишь в весьма ограниченном наборе сценариев, когда абсолютно ясно, что требуется продолжить выполнение программы.
import os
from contextlib import suppress
with suppress(FileNotFoundError):
os.remove('somefile.tmp')
# Эквивалент:
try:
os.remove('somefile.tmp')
except FileNotFoundError:
pass
Созданный объект менеджера является реентерабельным. Это означает, что в рамках одного блока
with
, имеющего такие же вложенные блоки, его можно использовать несколько раз: import os
from contextlib import suppress
remove_error_supressed = suppress(FileNotFoundError)
with remove_error_supressed:
os.remove('somefile.tmp')
with remove_error_supressed:
os.remove('anotherfile.tmp')
Синонимы поиска: contextlib.suppress, contextlib, suppress
На заметку
В разделе «События» можно узнать о надвигающихся событиях мира Python, а также поделиться своими. Если вы являетесь организатором встречи/конференции/спринта, зарегистрируйте это событие в указанном разделе, чтобы о нём узнали все желающие.