python with關鍵字——I/O好伴侶
學習python的朋友都知道檔案讀寫的基本操作,通常我們讀寫文字的姿勢是這個樣子的:
f = open(file_name)
...
f.close()
每次定義一個檔案讀寫物件,在操作完成後,我們都需要進行關閉操作,如果你一不小心忘記了,恭喜你中獎了?你的程式很可能發生記憶體洩露,然後記憶體溢位,然後就掛了。
這樣的事情發生的概率挺高的,我以前就總是這樣,因為開啟文字後,很可能一頓操作,程式碼寫得很開心,自然忘記風險,忘記f.close …那麼怎麼避免類似的事情發生呢?這時候with就該出場了。
我們只需要:
with open(file_name) as f:
...
with作用的程式碼塊執行結束後,會自動進行資源釋放,自動啊,媽媽再也不用擔心我的記憶體!!!
後來學了tensorflow 1.0 發現了with的妙用,上下文管理,簡單來說,利用
with tf.name_scope(name, reuse=...):
balaba
我們可以把with下的所有變數都定義到name名稱空間下,然後呢?後續可以重複使用。幫助我們實現網路引數共享。不過到了tensorflow2.0 這個功能不美麗了,你只要定義網路layer類似於函式物件,後續想要呼叫幾次就幾次,引數都是共享的。
今天就分享到這,希望大家進行檔案讀寫時養成使用with的好習慣!
參考:
相關文章
- 關於I/O
- python 非同步 I/OPython非同步
- Python教程:精簡概述I/O模型與I/O操作Python模型
- 靈魂伴侶的存在,你信嗎?
- [譯] React & Redux 頂級開發伴侶ReactRedux
- "萬字" Java I/O 詳解Java
- Mac微信靈魂伴侶 - Tweak小助手Mac
- 給玩家一個“好伴侶” 談談遊戲中“陪伴型”角色的設計遊戲
- 心理學:如何與伴侶重歸於好?男性和女性採取的措施大有不同
- DM 關鍵字、遮蔽關鍵字
- 計算機I/O與I/O模型計算機模型
- 多多關鍵字API php java PythonAPIPHPJavaPython
- let關鍵字和const關鍵字
- final關鍵字和static關鍵字
- 關於 UML && S.O.L.I.D
- 簡述python非同步i/o庫 —— asyncioPython非同步
- Java I/OJava
- I/O流
- 微信伴侶WechatTweak for mac(微信防撤回、多開助手)Mac
- this關鍵字
- 關鍵字
- Python--I/O格式化與運算子Python
- 深入理解 python 非同步 i/o 庫 —— asyncioPython非同步
- python3的關鍵字有什麼Python
- c++ I/OC++
- Java(8)I/OJava
- 【java】I/O流Java
- out關鍵字和ref關鍵字的區別
- abstract關鍵字 super 關鍵字 類與繼承繼承
- Python:讀寫檔案(I/O) | 組織檔案Python
- 4關鍵字
- [JavaScript] this 關鍵字JavaScript
- synchronized 關鍵字synchronized
- Volatile關鍵字
- static關鍵字
- final關鍵字
- super關鍵字
- const關鍵字