Позволяет автоматически «закрыть» объект после отрабатывания кода.
contextlib.closing(obj)
obj -- Любой объект, который следует «закрыть» при выходе из менеджера контекста. Должен реализовывать метод '.close()'.

Возвращает менеджер контекста, который вызовет метод .close() указанного объекта после отрабатывания кода из тела with безоговорочно — вне зависимости от того, произойдёт ли исключение.

    from contextlib import closing


class MyClass(object):

def close(self):
print('closed')


with closing(MyClass()) as my_obj:
print(my_obj.__class__.__name__)
raise Exception('failed')
# MyClass
# closed
# Exception: failed

На заметку
Функция будет работать с любым объектом, если он реализует метод .close().
Синонимы поиска: contextlib.closing, contextlib, closing
На заметку
Зарегистрированные пользователи могут добавлять Книги.