淺談Python上下文管理 - 邱乘屹的個人技術博客

什麼是with語句

  1. with是一種上下文管理協議,目的在於從流程圖中把 try,except 和finally 關鍵字和資源分配釋放相關代碼統統去掉,簡化try….except….finlally的處理流程。
  2. 所以使用with處理的對象必須有enter()和exit()這兩個方法
      1)with通過enter方法初始化(enter方法在語句體執行之前進入運行)
      2)然後在exit中做善後以及處理異常(exit()方法在語句體執行完畢退出後運行)

with語句使用場景

  1. with 語句適用於對資源進行訪問的場合,確保不管使用過程中是否發生異常都會執行必要的“清理”操作,釋放資源
  2. 比如文件使用後自動關閉、線程中鎖的自動獲取和釋放等。

with處理文件操作的實例

with open('/etc/passwd') as f:
    for line in f:
        print(line)
# 這段代碼的作用:打開一個文件,如果一切正常,把文件對象賦值給f,然後用迭代器遍歷文件中每一行,當完成時,關閉文件;
# 而無論在這段代碼的任何地方,如果發生異常,此時文件仍會被關閉。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章