Сообщить об ошибке.

Функция nullcontext() модуля contextlib в Python

Получить результат входа в контекст

Синтаксис:

import contextlib

contextlib.nullcontext(enter_result=None)

Параметры:

  • enter_result=None - объект менеджера контекста.

Возвращаемое значение:

Описание:

Функция nullcontext() модуля contextlib возвращает менеджер контекста, который возвращает enter_result из метода входа в контекст __enter__ или в противном случае ничего не делает.

Функция contextlib.nullcontext() предназначена для использования в качестве замены для необязательного менеджера контекста, например:

def myfunction(arg, ignore_exceptions=False):
    if ignore_exceptions:
        # используем подавление, чтобы игнорировать все исключения.
        contextmanager = contextlib.suppress(Exception)
    else:
        # Не игнорируем исключения, 'contextmanager' не действует.
        contextmanager = contextlib.nullcontext()
    with contextmanager:
        # какой то код

Пример использования enter_result:

def process_file(file_or_path):
    if isinstance(file_or_path, str):
        # Если строка, то откроем файл
        contextmanager = open(file_or_path)
    else:
        # Вызывающий отвечает за закрытие файла
        contextmanager = nullcontext(file_or_path)

    with contextmanager as file:
        # Выполняем работу с файлом