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

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 :Andy

import os
import glob
import time
import datetime
class 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', log

if __name__ == '__main__':
        obj = DeleteLogfile()
        obj.delete()



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值