print "entering" print "exiting"
with context():
for x in range(10我对生成器和上下文管理器的了解让我怀疑这是不可能的,但这使得上下文管理器在生成器中变得非常无用,不是吗?在我看来,在一个__exit__块中的yield语句应该会发出一个红旗,上下文管理器可能不会运行。
我有一个对象的上下文管理器,可以使用类似于open上下文管理器。with MyContextManager as cm:我知道,如果使用contextlib.ContextDecorator创建一个简单的上下文管理器,它就可以变成一个装饰器如果使用装饰器,也可以访问上下文管理器生成的对象吗?例如,考虑到上面的上下文管理器,如下所示:def my