Python上下文管理器用法及例項解析
阿新 • • 發佈:2020-01-09
這篇文章主要介紹了Python上下文管理器用法及例項解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
with上下文管理器
語法:with ... as ... 如:with open('test.txt','r') as fp,開啟一個檔案作為檔案控制代碼物件賦值給fp
with是一個語句塊,上下文管理器中裡面實現了兩個方法:enter,exit,enter是進入程式碼塊前自動呼叫的方法,exit是
退出with語句塊時呼叫的,例如,檔案物件在退出上下文管理器時呼叫了exit中的self.close()語句,所以就不用手動去關閉檔案
只要重寫了enter方法和exit兩個方法,就可以自定義一個with上下文管理器
class SayHello(object): def __init__(self,text): self.text = text def __enter__(self): return self #必須返回物件 def __exit__(self,exc_type,exc_value,traceback): self.text = "Bye!" with SayHello("Hello") as greet: print(greet.text) print(greet.text)
輸出:
Hello Bye!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。