Python中上下文管理器的理解与使用
什么是上下文管理器?
- 上下文管理器就是一个包装任意代码块的对象。
- 上下文管理器保证进入上下文管理器时,每次代码执行的一致性。
- 当退出上下文管理器时,相关的资源会被正确的回收。
简单来讲上下文管理器就是 with 语句
使用上下文管理器的好处
-
可以以一种更加优雅的方式,操作(创建/获取/释放)资源,如文件操作、数据库连接;
-
一定能够保证退出步骤的执行,通过 with 语句在编写代码时,会使代码变得更加简洁,不用再去关闭文件。
-
可以以一种更加优雅的方式,处理异常。
上下文管理器的使用
要自己实现这样一个上下文管理,要先知道上下文管理协议。
简单点说,就是在一个类里,实现了 enter 和__exit__的方法
,这个类的实例就是一个上下文管理器。
# 上下文管理协议
class Sample:
def