Python模块,glob 文件路径查找之删除过期日志

来源:互联网 发布:js中的offsettop 编辑:程序博客网 时间:2024/04/30 04:02

glob模块可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:”*”, “?”, “[]“。”*”匹配0个或多个字符;”?”匹配单个字符;”[]“匹配指定范围内的字符,如:[0-9]匹配数字。


例子:

import glob
 #获取指定目录下的所有图片
print glob.glob(r"E:/Picture/*/*.jpg")
 #获取上级目录的所有.py文件
print glob.glob(r'../*.py') #相对路径


现在有这样一个需求,删除过期应用日志,过期时间2天,root目录下所有insert开头的log文件。

代码如下:

<pre name="code" class="python">#!/usr/bin/env python#'delete old log,20160104'#author :Andyimport osimport globimport timeimport datetimeclass DeleteLogfile(object):        def __init__(self,filename='insert*.log',days=2,path='/root'):                self.__filename = filename                self.__days = days                self.__path =path        def delete(self):                xDate =  (datetime.datetime.now() - datetime.timedelta(days = self.__days))                 files = glob.glob(self.__path+'/'+self.__filename)                for log in files:                        stats=os.stat(log)                        lastmodDate = time.localtime(stats[8])                        expDate = xDate.strftime('%Y-%m-%d')                        expDate = time.strptime(expDate, '%Y-%m-%d')                        print log, time.strftime("%m/%d/%y", lastmodDate)                        if expDate > lastmodDate:                                try:                                        print 'Removing', log, time.strftime("(older than %m/%d/%y)", expDate)                                        #os.remove(log)                                 except OSError:                                        print 'Could not remove', logif __name__ == '__main__':        obj = DeleteLogfile()        obj.delete()


                                             
0 0
原创粉丝点击