python 中 with 语句

来源:互联网 发布:程序员出身的名人 编辑:程序博客网 时间:2024/05/16 17:25

在Python中,with关键字是一个替你管理实现上下文协议对象的好东西。例如:file等。示例如下:

  

Python代码  收藏代码
  1. from __future__ import with_statement  
  2. with open('cardlog.txt','r') as item :  
  3.     for line in item :  
  4.         print line;  

 

 

在file的结束,会自动关闭该文件句柄。

 

在python2.6中,with正式成为了关键字

所以在python2.5以前,要利用with的话,需要使用:

Python代码  收藏代码
  1. from __future__ import with_statement  

 

 

它的原理如下:

所有实现上下文协议的对象都包含以下三种方法:

__context__()  它返回一个自我管理的上下文对象,或者一个真正意义的上下文管理器

 

__enter()__  进入上下文管理器,开始迭代

 

当with语句结束的时候,无论是正常结束还是抛出异常,都会执行__exit__(),该方法用于关闭资源连接。


具体参考:http://www.ibm.com/developerworks/cn/opensource/os-cn-pythonwith/

0 0
原创粉丝点击