国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中的fileinput模塊的簡單實用示例

2019-11-25 17:12:39
字體:
來源:轉載
供稿:網友

這幾天有這樣一個需求,要將用戶登陸系統的信息統計出來,做成一個報表。當用戶登陸成功的時候,服務器會往日志文件里寫一條像下面這種格式的記錄:”日期時間@用戶名@IP“,這樣的日志文件第天生成一個。所以,我們只要編歷這些日志文件,將所有的登陸信息提取出來,并重新組織數據格式就可以了。用python寫一個分析工具非常簡單,你會說,用glob獲取所有的日志文件,然后對每個日志文件都open(logfile),再一行一行的讀取;或者用os.walk,也很簡單。其實,標準庫提供了另一個輔助模塊,我們可以非常方便的完成這個工作,那就是fileinput。下面我們就通過fileinput來編歷所有的D盤下的文本文件,將每一行的長度打印出來:
 

import fileinputfrom glob import glob for line in fileinput.input(glob(r'd:/*.txt')):  print fileinput.lineno(), u'文件:', fileinput.filename(), /      u'行號:', fileinput.filelineno(), u'長度:', len(line.strip('/n'))fileinput.close()

代碼非常簡單明了。input()接受要編歷的所有文件路徑的列表,通過filename()返回當前正在讀取的文件的文件名,filelineno()返回當前讀取的行的行號,而lineno()返回當前已經讀取的行的數量(或者序號)。其實,模塊內部通過FileInput類來實現文件的編歷讀取,input()在內部創建了該類的一個對象,當處理完數據行之后,通過fileinput.close()來關閉這個內部對象。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇安县| 阳信县| 手机| 大连市| 鄂尔多斯市| 永川市| 安宁市| 万年县| 桃源县| 苏尼特右旗| 同仁县| 凉城县| 吴川市| 邓州市| 濮阳县| 常州市| 巴中市| 沾益县| 宜城市| 海林市| 柏乡县| 武汉市| 霍州市| 汕尾市| 南投县| 霞浦县| 洞口县| 广汉市| 民丰县| 怀安县| 松江区| 五河县| 新津县| 咸宁市| 铁岭县| 林周县| 松溪县| 沙坪坝区| 都兰县| 张家界市| 渝北区|