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

需求:

  删除指定路径下固定格式,以.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')

 

posted @ 2019-10-25 22:35  会武术的跳跳虎  阅读(356)  评论(0编辑  收藏  举报