python_删除规定日期日志文件

# 测试机器的磁盘太小,经常报警,要写一个清理日志的脚本,每次运行就把三天之前的日志删除,日志名的格式是xxx-20170623.log

import os
import datetime


# 获取当前时间减去N天,然后转换为年月日格式
def daynum(num):
    return int((datetime.datetime.now() + datetime.timedelta(days=-num)).strftime('%Y%m%d'))

#获取路径下的所有文件名
def filelist(filepath):
    return os.listdir(filepath)

#根据文件名删除目录下的文件
def delfile(daynum,filepath,filelist):
    for name in filelist:
            num = int(name.strip().split("-")[1].split('.')[0]) #先根据-分割,在根据.分割,最后得到日期转换整数
            if (num<daynum): #日志时间小于规定的时间进行文件删除
                os.remove(filepath+name)

num=daynum(3) #调取当前时间减去n天时间函数
filepath="./log/" #删除日志文件的目录
filename=filelist(filepath) #调取获取目录下所有文件名函数
delfile(num,filepath,filename)  #调取删除N天前日志文件函数

 

posted @ 2019-06-14 10:19  小戳同学  阅读(361)  评论(0编辑  收藏  举报