with as 語句的作用主要如下:
一是解決異常退出時資源釋放的問題;
二是解決用戶忘記調用close方法而產生的資源洩漏問題。
有一些任務,可能事先需要設置,事後做清理工作。對於這種場景,Python的with語句提供了一種非常方便的處理方式。一個很好的例子是文件處理,你需要獲取一個文件句柄,從文件中讀取數據,然後關閉文件句柄。
如果不用with語句,代碼如下:
file = open("/tmp/foo.txt")
data = file.read()
file.close()
這裡有兩個問題。一是可能忘記關閉文件句柄;二是文件讀取數據發生異常,沒有進行任何處理。下面是處理異常的加強版本:
file = open("/tmp/foo.txt")
try:
data