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