Python處理日誌之取得檔案列表

2022-03-22 08:25:52 字數 518 閱讀 6227

為防止log日誌過大,每隔一小時就會把重新寫log檔案,而之間的檔案則重新命名為server_errors.log.yyyy-dd-mm-nn,其中nn為序號,從00到23.

鑑於我們log的基本形式,我們要分析的不僅僅是errors.log,還需要分析其他當天產生的檔案,這就需要乙個方法去取得這些檔案的列表。

開始的時候,準備通過glob模組來取得檔案列表,glob根據給定模式生成滿足該模式的檔名列表, 和 unix shell 相同.

for eachfile in glob.glob(r"d:\log\*.log"):

print eachfile

注意glob返回完整路徑名, 這點和os.listdir函式不同。

但是glob的不是正則,是unixshell的規則。除了*,?,之外,其他的正規表示式不能用。

於是只能另起爐灶,這次使用的是os.listdir,

因為這些檔案都是以相同的名字開頭,可以使用startswith方法進行過濾,然後通過檔案的建立時間來取得今天產生的log檔案列表

Python處理日誌之取得檔案列表 更新

在這篇文章裡面講述了如何通過glob模組取得列表,但由於glob能使用的正規表示式有限,所以只能說是完成了部分任務,今天看 python技術參考大全 受到啟發,我們可以使用正規表示式去檢查每個檔名,這樣就可以找到所需的檔案列表。filelist pattern r seeuthere errors....

Python處理日誌之取得檔案列表 更新

在這篇文章裡面講述了如何通過glob模組取得列表,但由於glob能使用的正規表示式有限,所以只能說是完成了部分任務,今天看 python技術參考大全 受到啟發,我們可以使用正規表示式去檢查每個檔名,這樣就可以找到所需的檔案列表。filelist pattern r seeuthere errors....

python處理大日誌檔案

coding utf 8 import sys import time class tail def init self,file name,callback sys.stdout.write self.file name file name self.callback callback def f...