在python中使用with開啟多個檔案的方法

2022-09-28 06:03:09 字數 1002 閱讀 9593

雖然初戀是j**a, 可是最近是越來越喜歡python, 所以決定追根溯源好好了解下python的原理,架構等等.小腦袋瓜不太好使,只能記eyezoqf錄下慢慢進步吧

使用with開啟檔案的好處不多說,這裡記錄一下如果要開啟多個檔案,該怎麼書寫簡捷的**。

場景是同時開啟三個檔案,檔案行數一樣,程式實現每個檔案依次讀取一行,同時輸出。 首先來一種比較容易想到的寫法,如下一樣巢狀:

with open('file1') as f1:

with open('file2') as

witwww.cppcns.comh open('file3') as f3:

for i in f1:

j = f2.readline()

k = f3.readline()

print(i,j,k)

注意,這裡只能對乙個檔案進行for迴圈讀取不能寫成:

for i,j,k in f1,f2,f3:

print(i,j,k)

這麼多層縮排太噁心了,還是來一種簡潔些的寫法:

with open('file1') as f1, open('file2') as f2, open('file3') as f3:

for i in f1:

j = f2.readline()

k = f3.readline()

print(i,j,k)

還有一種優雅一點的寫法:

from contextlib import nested #這個包是python2中的,不使用python3

with nested(open('file1'), open('file2'), open('file3')) as (f1,f2,f3):

for ieyezoqf in f1:

j = f2.readline()

k = f3.readline()

print(i,j,k)

本文標題: 在python中使用with開啟多個檔案的方法

本文位址:

在python中使用websocket

介紹一款很帥的外掛程式autobahnpython,通過它可以在python中很方便的使用websocket進行通訊 基於twisted框架 這個外掛程式真正強大的地方是它提供了乙個 發布 訂閱模式,具體內容有空再寫,先簡單介紹一下如何建立傳統的連線。建立伺服器 必須的模組 from twisted...

在Python中使用 slots

這篇文章主要介紹了在python中使用 slots 方法的詳細教程,slots 方法是python的乙個重要內建類方法,基於python2.x版本,需要的朋友可以參考下 正常情況下,當我們定義了乙個class,建立了乙個class的例項後,我們可以給該例項繫結任何屬性和方法,這就是動態語言的靈活性。...

with語句在Python中使用

引言 with語句生於python2.5,通過 from future import with statement 匯入後使用 2.6以後無需匯入直接使用 with 語句適用於對資源進行訪問的場合,確保不管使用過程中是否發生異常都會執行必要的 清理 操作,釋放資源 用途 最常用的兩個地方,檔案使用後...