日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python fileinput模块next_Python中的fileinput模块的简单实用示例

發布時間:2025/3/21 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python fileinput模块next_Python中的fileinput模块的简单实用示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

import fileinput

from 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()來關閉這個內部對象。

總結

以上是生活随笔為你收集整理的python fileinput模块next_Python中的fileinput模块的简单实用示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。