with語句在處理異常時非常有用。

例如,在使用文件時,每次打開文件後都要記得關閉。

with可以使這個過程變得透明。

不用寫下面的代碼了:

filename = '/Users/flavio/test.txt'

try:
 file = open(filename, 'r')
 content = file.read()
 print(content)
finally:
 file.close()

你可以這樣寫代碼:

filename = '/Users/flavio/test.txt'

with open(filename, 'r') as file:
 content = file.read()
 print(content)

換句話說,我們內置了隱式的異常處理,因為close()會自動為我們調用。

with不僅僅是用於處理文件。上面的例子只是為了介紹它的功能。