python上下文管理器closing的應(yīng)用
1、應(yīng)用場(chǎng)景
closing適用于提供了close()實(shí)現(xiàn)的對(duì)象,比如網(wǎng)絡(luò)連接、數(shù)據(jù)庫(kù)連接等,也可以在自定義類時(shí)通過(guò)接口close()來(lái)執(zhí)行所需要的資源“清理”工作。
2、實(shí)例
上下文管理closing實(shí)現(xiàn)。
classclosing(object):
#helpdochere
def__init__(self,thing):
self.thing=thing
def__enter__(self):
returnself.thing
def__exit__(self,*exc_info):
self.thing.close()
上下文管理器會(huì)將包裝的對(duì)象賦值給as子句的target變量,同時(shí)保證打開(kāi)的對(duì)象在with-body執(zhí)行完后會(huì)關(guān)閉掉。closing上下文管理器包裝起來(lái)的對(duì)象必須提供close()方法的定義,否則執(zhí)行時(shí)會(huì)報(bào)AttributeError錯(cuò)誤。
以上就是python上下文管理器closing的應(yīng)用,希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。