【python中级】上下文管理器装饰器@contextmanager实现上下文管理器
1.背景
关于上下文管理器的自定义实现以及作用等参考如下博客:
自定义类class实现上下文管理器
https://blog.csdn.net/jn10010537/article/details/124543790
2.使用装饰器
为什么使用装饰器,为了偷懒!
自定义类class实现上下文管理器,需要自己实现一个类class,
并完成其中的__enter__和__exit__方法。
还是不够简洁方便,python提供了一个内置的模块contextlib,更简单的写法!
该模块有一个装饰器@contextlib.contextmanager,可以将函数变为上下文管理器。
基本语法:
@contextmanager
def example_generator(<arguments><