为防止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文件列表