十、删除当前时间三天之前的日志,三天内的日志不进行删除

思路:

1、以当前时间起前三天时间保存在一个集合中

2、遍历路径下的文件名,将日期拿出来和第一步的集合进行比对,判断要不要删除


import os,datetime

def clean_log(path):

if os.path.exists(path)and os.path.isdir(path):

today = datetime.date.today().strftime('%Y-%m-%d')

yesterday = (datetime.date.today() + datetime.timedelta(-1)).strftime('%Y-%m-%d')

before_yesterday = (datetime.date.today() + datetime.timedelta(-2)).strftime('%Y-%m-%d')

file_name_list = [today, yesterday, before_yesterday]

# print(file_name_list)

        for filein os.listdir(path):

file_name_sp = file.split('.',-1)

if len(file_name_sp) >=2:

# print(file_name_sp)

                file_date = file_name_sp[1]# 取文件名里面的日期

# print (file_date,33)

# print type(file_name_list[0])

                if file_datein file_name_list:

abs_path = os.path.join(path, file)

print('%s 已经被删除' % abs_path)

os.remove(abs_path)

else:

print('%s 没有被删除' % file)

else:

print('路径不存在/不是目录')

clean_log('F:/pyxm/python源代码/test')



定时脚本:

def timer(n):

while True:

# print(time.strftime('Y%-%m-%d %X',time.localtime()))

        clean_log('F:/pyxm/python源代码/test')

time.sleep(n)

timer(100)

你可能感兴趣的:(十、删除当前时间三天之前的日志,三天内的日志不进行删除)