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

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

Закрыть контекст объекта

Синтаксис:

import contextlib

contextlib.closing(thing)

Параметры:

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

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

Описание:

Функция closing() модуля contextlib возвращает менеджер контекста, который закрывает объект thing после завершения блока.

Это в основном эквивалентно:

from contextlib import contextmanager

@contextmanager
def closing(thing):
    try:
        yield thing
    finally:
        thing.close()

И позволяет писать код так:

import contextlib
from urllib.request import urlopen

with contextlib.closing(urlopen('http://www.python.org')) as page:
    for line in page:
        print(line)

Без необходимости явно закрывать страницу page. Даже если возникает ошибка, page.close() будет вызываться при выходе из блока with.