本博文源于python基礎,旨在實作多檔案的循環疊代操作。
fileinput操作檔案
提供行循環處理一個或多個檔案内容的功能。fileinput子產品中常用的函數有:
- input(): 傳回能夠用于疊代一個或多個檔案中所有行的對象
- filename():傳回目前檔案的名稱
- lineno():傳回目前讀取的行的數量
- isfirstline():傳回目前行,判斷是否是檔案的第一行,是目前檔案的第一行時傳回真值,反之則傳回假值
- filelineno():傳回目前讀取行在檔案中的行數
例子:疊代顯示兩個文本檔案内容
實驗準備
準備兩個txt,第一個名為fpa.txt内容為:
fpa-1
fpa-2
fpa-3
fpa-4
第二個名為fpb.txt,内容為:
fpb-1
fpb-2
fpb-3
fpb-4
實驗效果
實驗代碼
import fileinput
def demo_fileinput():
with fileinput.input(['fpa.txt','fpb.txt']) as lines:
for line in lines:
print('總第%d行,'%fileinput.lineno(),"檔案%s中第%d行:"
%(fileinput.filename(), fileinput.filelineno()))
print(line.strip())
if __name__ == '__main__':
demo_fileinput()