import contextlib contextlib.suppress(*exceptions)
*exceptions
- ожидаемое исключение.exceptions
.Функция suppress()
модуля contextlib
возвращает менеджер контекста, который подавляет любое из указанных исключений, если они встречаются в теле оператора with
, а затем возобновляет выполнение с первым оператором, следующим за концом оператора with
.
Как и с любым другим механизмом, который полностью подавляет исключения, этот диспетчер контекста следует использовать только для покрытия очень специфических ошибок, когда точно известно, что продолжение работы программы без вывода сообщений будет корректным.
По поведению этот контекстный менеджер будет контекстным менеджером c повторным входом.
from contextlib import suppress with suppress(FileNotFoundError): os.remove('somefile.tmp') with suppress(FileNotFoundError): os.remove('someotherfile.tmp')
Этот код эквивалентен:
try: os.remove('somefile.tmp') except FileNotFoundError: pass try: os.remove('someotherfile.tmp') except FileNotFoundError: pass