Python处理日志之取得文件列表

为防止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文件列表
posted @ 2009-10-21 17:22  小楼  阅读(1719)  评论(0编辑  收藏  举报