ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Python模块glob实战 文件路径查找之删除过期日志

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

原创 Linux操作系统 作者:bestpaydata 时间:2016-01-07 11:33:45 0 删除 编辑

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


例子:

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


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

DeleteLogfile类的属性有文件名,过期天数,文件所在路径,通过调用delete方法来删除过期的日志。

代码如下:


点击(此处)折叠或打开

  1. #!/usr/bin/env python

  2. #'delete old log,20160104'
  3. #author :liuyu

  4. import os
  5. import glob
  6. import time
  7. import datetime
  8. class DeleteLogfile(object):

  9.         def __init__(self,filename='insert*.log',days=2,path='/root'):
  10.                 self.__filename = filename
  11.                 self.__days = days
  12.                 self.__path =path

  13.         def delete(self):
  14.                 xDate = (datetime.datetime.now() - datetime.timedelta(days = self.__days))
  15.                 files = glob.glob(self.__path+'/'+self.__filename)
  16.                 for log in files:
  17.                         stats=os.stat(log)
  18.                         lastmodDate = time.localtime(stats[8])
  19.                         expDate = xDate.strftime('%Y-%m-%d')
  20.                         expDate = time.strptime(expDate, '%Y-%m-%d')
  21.                         print log, time.strftime("%m/%d/%y", lastmodDate)
  22.                         if expDate > lastmodDate:
  23.                                 try:
  24.                                         print 'Removing', log, time.strftime("(older than %m/%d/%y)", expDate)
  25.                                         os.remove(log)
  26.                                 except OSError:
  27.                                         print 'Could not remove', log

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30109892/viewspace-1973094/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-01-19

  • 博文量
    126
  • 访问量
    1054938