在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)閉資源連接。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
