日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:Pythonfileinput模塊:逐行讀取多個文件

fileinput 模塊提供了如下函數(shù)可以把多個輸入流合并在一起:

fileinput.input(files=None, inplace=False, backup='', bufsize=0, mode='r', openhook=None):該函數(shù)中的 files 參數(shù)用于指定多個文件輸入流。該函數(shù)返回一個 FileInput 對象。

當(dāng)程序使用上面函數(shù)創(chuàng)建了 FileInput 對象之后,即可通過 for 循環(huán)來遍歷文件的每一行。此外,fileinput 還提供了如下全局函數(shù)來判斷正在讀取的文件信息:

fileinput.filename():返回正在讀取的文件的文件名。

fileinput.fileno():返回當(dāng)前文件的文件描述符(file descriptor),該文件描述符是一個整數(shù)。

文件描述符是一個文件的代號,其值為一個整數(shù)。后續(xù)章節(jié)將會介紹關(guān)于文件描述符的操作。

fileinput.lineno():返回當(dāng)前讀取的行號。

fileinput.filelineno():返回當(dāng)前讀取的行在其文件中的行號。

fileinput.isfirstline():返回當(dāng)前讀取的行在其文件中是否為第一行。

fileinput.isstdin():返回最后一行是否從 sys.stdin 讀取。程序可以使用“-”代表從 sys.stdin 讀取。

fileinput.nextfile():關(guān)閉當(dāng)前文件,開始讀取下一個文件。

fileinput.close():關(guān)閉 FileInput 對象。

通過上面的介紹不難發(fā)現(xiàn),fileinput 也存在一個缺陷,即在創(chuàng)建 FileInput 對象時不能指定字符集,因此它所讀取的文件的字符集必須與操作系統(tǒng)默認(rèn)的字符集保持一致。當(dāng)然,如果文本文件的內(nèi)容是純英文,則不存在字符集的問題。

下面程序示范了使用 fileinput 模塊來讀取多個文件:

import fileinput
# 一次讀取多個文件
for line in fileinput.input(files=('info.txt', 'test.txt')):
    # 輸出文件名,當(dāng)前行在當(dāng)前文件中的行號
    print(fileinput.filename(), fileinput.filelineno(), line, end='')
# 關(guān)閉文件流
fileinput.close()

上面程序使用 fileinput.input 直接合并了 info.txt 和 test.txt 兩個文件,這樣程序可以直接遍歷讀取這兩個文件的內(nèi)容。


網(wǎng)站欄目:創(chuàng)新互聯(lián)Python教程:Pythonfileinput模塊:逐行讀取多個文件
網(wǎng)站路徑:http://www.5511xx.com/article/ccsidgs.html