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