Назад к вопросам
Junior — Middle
51
Каким образом реализовать использование менеджера контекста в Python без применения конструкции with?
Ответ от нейросети
sobes.tech AI
Менеджер контекста в Python — это объект, который реализует методы __enter__() и __exit__(). Обычно его используют с конструкцией with, но можно вызвать эти методы напрямую, чтобы добиться того же эффекта без with.
Пример:
class MyContextManager:
def __enter__(self):
print("Вход в контекст")
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print("Выход из контекста")
cm = MyContextManager()
cm.__enter__()
try:
print("Работа внутри контекста")
finally:
cm.__exit__(None, None, None)
Таким образом, можно вручную вызвать __enter__() перед блоком кода и __exit__() после него, обеспечивая те же действия, что и with.