使用 Python 的「with open」進行高效檔案操作
同時存取多個檔案通常是 Python 中的關鍵任務。雖然使用多個「with open」語句可能很乏味,但 Python 提供了優雅的解決方案,將這些呼叫與「with」語句結合。
內聯檔案開啟
Python 2.7 及更高版本允許內聯檔案打開,無需多個「with」語句。只需在括號內以逗號分隔檔案定義即可:
with open('a', 'w') as a, open('b', 'w') as b: do_something()
巢狀上下文管理器
在早期版本的Python 中, contextlib.nested( ) 可用於巢狀上下文管理器,但不建議在處理多個檔案時這樣做。
ExitStack for動態檔案開啟
從Python 3.3 開始,contextlib.ExitStack 提供了一個多功能選項,用於同時開啟可變數量的檔案:
with ExitStack() as stack: files = [stack.enter_context(open(fname)) for fname in filenames] # Do something with "files"
順序檔案處理
根據用例,順序檔案處理可能比開啟所有檔案更合適一次:
for fname in filenames: with open(fname) as f: # Process f
以上是如何在 Python 中同時有效率地操作多個檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!