Описание тега contextmanager
Диспетчер контекста python управляет контекстом оператора with. Диспетчер контекста определяет ловушки входа и выхода, которые вызываются при входе и выходе из блока кода под оператором with соответственно.
Оператор with в Python создает контекст времени выполнения, определяемый диспетчером контекста. Как блок кода подwith
заявление введено, __enter__
хук вызывается в диспетчере контекста, и при выходе (любыми средствами, включая исключения и операторы возврата) __exit__
крючок называется.
Python предоставляет несколько стандартных менеджеров контекста. Например, файловые объекты можно открывать как диспетчер контекста, и при выходе файл автоматически закрывается.
Менеджеры контекста были определены в PEP 343.