python上下文管理器
- 上下文管理器是Python中的一种协议,它保证了每次代码执行的一致性
- 一旦进入上下文管理器,就一定会按照规定的步骤退出
- 如果合理的设计了退出上下文管理器的步骤,就能够很好的处理异常。
- 上下文管理器被最多用到的场景是资源清理操作。
- 实现上下文管理器,只要在类定义时,实现__enter__()方法和__exit__()方法即可
class File:
def __init__(self,filename,mode):
self._filename = filename
self._mode = mode
def __enter__(self):
print("__enter()__")
self._f = open(self._filename,self._mode)
return self._f
def __exit__(self,*args):
print("__exit__")
self._f.close()
with File("./test/test.txt","r") as f:
print(f.read())
执行顺序:
__init____enter__- 将
_——enter__的返回结果赋值给f - 执行
with语句块 __exit__
__enter()__
123456
__exit__

浙公网安备 33010602011771号