一分钟了解contextlib模块

cobtextlib模块用于简化上下文管理器,其内置装饰漆@contextmanager,我们通过编写一个被contextmanager装饰的generator来简化上下文管理。

from contextlib import contextmanager

@contextmanager
def aa():
    print ('begin')    
    yield 1
    print ('end')
    
with aa() as q:
    print (q)

'''
yiled之前的语句和yied相当于上下文管理器的enter方法
.yield的对象相当于enter返回的对象。yield后的语句相当于
上下文管理器的exit方法
'''
'''执行结果:
begin
1
end
'''

 

posted @ 2018-07-17 14:34  扫驴  阅读(193)  评论(0编辑  收藏  举报