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的好習慣!
參考:
相關文章
- 牛奶咖啡好伴侶——《C程式設計伴侶》對《C程式設計》C程式程式設計
- 第十一篇:(順序)容器的好伴侶 --- 容器介面卡
- Mac微信靈魂伴侶 - Tweak小助手Mac
- [譯] React & Redux 頂級開發伴侶ReactRedux
- 《C程式設計伴侶》誕生記C程式程式設計
- 給玩家一個“好伴侶” 談談遊戲中“陪伴型”角色的設計遊戲
- "萬字" Java I/O 詳解Java
- Python教程:精簡概述I/O模型與I/O操作Python模型
- python 非同步 I/OPython非同步
- python 關鍵字yield解析Python
- Python關鍵字引數Python
- python:理解關鍵字—yieldPython
- Python中nonlocal關鍵字Python
- 微信伴侶WechatTweak for mac(微信防撤回、多開助手)Mac
- Python關鍵字yield詳解Python
- Python 關鍵字 yield 詳解Python
- Veritas Quick I/O and Cached Quick I/OUI
- 國內第一本伴侶書!學習譚浩強老師的《C程式設計》,必配《C程式設計伴侶》!C程式程式設計
- Python 標示符和關鍵字Python
- Python 函式 (關鍵字引數)Python函式
- 多多關鍵字API php java PythonAPIPHPJavaPython
- 計算機I/O與I/O模型計算機模型
- I/O埠和I/O記憶體記憶體
- Python 音訊 I/O 庫 PyAudioPython音訊
- YouGov:1/5的美國人偷聽過伴侶的手機Go
- 汪峰DIVA智慧耳機:號稱如伴侶般與你對話
- 社群遊戲伴侶 V1.0註冊碼的計算,序號產生器 (30千字)遊戲
- abstract關鍵字 super 關鍵字 類與繼承繼承
- Swift 關鍵字Swift
- typedef關鍵字
- Synchronized關鍵字synchronized
- JavaScript this關鍵字JavaScript
- Swift —— 關鍵字Swift
- oracle關鍵字Oracle
- Auto關鍵字
- 小米米家眾籌空調伴侶 智慧管理你的空調
- 簡述python非同步i/o庫 —— asyncioPython非同步
- oracle之 調整 I/O 相關的等待Oracle