上下文管理器类型— with do as f(contextlib)
目录
基本语法如何写上下文管理器?为什么要用上下文管理器?理解并使用 contextlib一个例子, 数据库的自动提交和回滚
来源:https://www.cnblogs.com/wongbingming/p/10519553.html
基本语法
with EXPR as VAR:
BLOCK
先理清几个概念:
上下文表达式:with open(‘test.txt’) as f:上下文管理器:open(‘test.txt’)f 不是上下文管理器,应该是资源对象。
如何写上下文管理器?
要自己实现这样一个上下文管理,要先知道上下文管理协议。
简单点说,就是在一个类里,实现了__enter__和__exit__的方法,这个类的实例就是一个上下文管理器。
例如这个示例:
class Resource():
def __enter__(self):
共有 0 条评论