天天看點

python利用fileinput疊代顯示多檔案内容

本博文源于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
           

實驗效果

python利用fileinput疊代顯示多檔案内容

實驗代碼

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()