在Python中,with關鍵字是一個替你管理實現上下文協議對象的好東西。例如:file等。示例如下:
from __future__ import with_statement with open('cardlog.txt','r') as item : for line in item : print line;
在file的結束,會自動關閉該文件句柄。
在python2.6中,with正式成為了關鍵字
所以在python2.5以前,要利用with的話,需要使用:
from __future__ import with_statement
它的原理如下:
所有實現上下文協議的對象都包含以下三種方法:
__context__() 它返回一個自我管理的上下文對象,或者一個真正意義的上下文管理器
__enter()__ 進入上下文管理器,開始迭代
當with語句結束的時候,無論是正常結束還是拋出異常,都會執行__exit__(),該方法用于關閉資源連接。
新聞熱點
疑難解答