Python深入学习之上下文管理器
上下文管理器是Python2.5开始支持的一种语法,用于规定某个对象的使用范围。一旦进入或者离开该使用范围,会有特殊操作被调用 。所以在使用上下文管理器时,我们就不用明文关闭f文件了。任何定义了__enter__()和__exit__()方法的对象都可以用于上下文管理器。文件对象f是内置对象,所以f自动带有这两个特殊方法,不需要自定义。上下文管理器会使用这一对象作为as所指的变量,也就是myvow。在__exit__()中,我们为myvow.text增加了后缀("!当程序块中出现异常,__exit__()的参数中exc_type, exc_value, traceback用于描述异常。我们可以根据这三个参数进行相应的处理。如果正常运行结束,这三个参数都是None。通过上下文管理器,我们控制对象在程序不同区间的特性。上下文管理器大致相当于如下流程:
用户评论