Python: 上下文管理器协议与其魔法函数以及使用 contextlib简化上下文管理器

上下文管理器主要实现了2个魔法函数:__enter__  、 __exit__

Python: 上下文管理器协议与其魔法函数以及使用 contextlib简化上下文管理器

 

文件的操作使用上下文管理器协议亦是如此。


使用 contextlib简化上下文管理器:

从上面的例子中可以看到,使用上下文管理器每次都需要定义一个class,显得十分繁琐。

所以python提供了一个内置模块contextlib

Python: 上下文管理器协议与其魔法函数以及使用 contextlib简化上下文管理器