python中contextmanager装饰的方法
(推荐操作系统:windows7系统、Python 3.9.1、DELL G3电脑。)
1、说明
contextmanager 用于对生成器函数进行装饰,生成器函数被装饰以后,返回的是一个上下文管理器,其 enter() 和 exit() 方法由 contextmanager 负责提供,而不再是之前的迭代子。被装饰的生成器函数只能产生一个值,否则会导致异常 RuntimeError;产生的值会赋值给 as 子句中的 target,如果使用了 as 子句的话。下面看一个简单的例子。
2、装饰器 contextmanager实例
from contextlib import contextmanager@contextmanager
def demo():
print '[Allocate resources]'
print 'Code before yield-statement executes in __enter__'
yield '*** contextmanager demo ***'
print 'Code after yield-statement executes in __exit__'
print '[Free resources]'
with demo() as value:
print 'Assigned Value: %s' % value
以上就是python中contextmanager装饰的方法,希望能对大家有所帮助。更多Python学习指路:python基础教程
以上是 python中contextmanager装饰的方法 的全部内容, 来源链接: utcz.com/z/543607.html