Python标准模块--ContextManager上下文管理器的具体用法
在数年前,Python 2.5 加入了一个非常特殊的关键字,就是with。这或许就是上下文管理器中一个最经典的示例。事实上,当你利用with语句打开一个文件时,Python替你自动创建了一个上下文管理器。第一个工具就是closing类,一旦代码块运行完毕,它就会将事件关闭。Python官方文档给出了类似于以下的一个示例,在这段代码中,我们创建了一个关闭函数,它被包裹在contextmanager中。请注意,这个上下文管理器是可重用的,2.4章节将会具体解释。contextlib模块还有一对用于重定向标准输出和标准错误输出的工具,分别在Python 3.4 和3.5 中加入。ExitStack是一个上下文管理器,允许你很容易地与其它上下文管理结合或者清除。这段代码就是在列表中创建一系列的上下文管理器。ExitStack维护一个寄存器的栈。
用户评论