删除指定路径下固定格式,以.log结尾三天前的文件,或删除空的日志文件

Posted shengqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除指定路径下固定格式,以.log结尾三天前的文件,或删除空的日志文件相关的知识,希望对你有一定的参考价值。

师出‘百测’besttest

  删除指定路径下固定格式,以.log结尾、三天前的文件,或删除空的日志文件。

  日志文件格式:XXXX_2019-01-01.log。

import os,datetime

#判断文件是否为空,如果为空则删除
def del_file(file):
    with open(file,encoding=utf-8) as f:
        if f.read():
            pass
        else:
            f.close()
            os.remove(file)

#查找指定路径下xx结尾的文件
def search_file(path,name):
    for cur_dir,dirs,files in os.walk(path):
        for file in files:
            if name in file:
                abs_path = os.path.join(cur_dir,file)
                print(找到%s文件,路径是%s%(file,abs_path))
                file_date = file[-14:-4]
                file_datetime = datetime.datetime.strptime(file_date,%Y-%m-%d)
                now = datetime.datetime.now()
                sub_day = (now - file_datetime).days
                if sub_day > 3:
                    os.remove(abs_path)
                else:
                    del_file(abs_path)


search_file(练习logs,name = .log)

 

以上是关于删除指定路径下固定格式,以.log结尾三天前的文件,或删除空的日志文件的主要内容,如果未能解决你的问题,请参考以下文章

Linux删除若干天前的文件夹

linux下定期删除指定文件夹下2天前的文件

删除指定日期的文件

win bat日志清除脚本

Python-日志删除

用shell脚本打包30天前的日志,格式:log20110901;并删除30天前的日志