1 模塊簡(jiǎn)介
在數(shù)年前,Python 2.5 加入了一個(gè)非常特殊的關(guān)鍵字,就是with。with語(yǔ)句允許開(kāi)發(fā)者創(chuàng)建上下文管理器。什么是上下文管理器?上下文管理器就是允許你可以自動(dòng)地開(kāi)始和結(jié)束一些事情。例如,你可能想要打開(kāi)一個(gè)文件,然后寫(xiě)入一些內(nèi)容,最后再關(guān)閉文件。這或許就是上下文管理器中一個(gè)最經(jīng)典的示例。事實(shí)上,當(dāng)你利用with語(yǔ)句打開(kāi)一個(gè)文件時(shí),Python替你自動(dòng)創(chuàng)建了一個(gè)上下文管理器。
with open("test/test.txt","w") as f_obj: f_obj.write("hello")
如果你使用的是Python 2.4,你不得不以一種老的方式來(lái)完成這個(gè)任務(wù)。
f_obj = open("test/test.txt","w") f_obj.write("hello") f_obj.close()
上下文管理器背后工作的機(jī)制是使用Python的方法:__enter__和__exit__。讓我們嘗試著去創(chuàng)建我們的上下文管理器,以此來(lái)了解上下文管理器是如何工作的。