思路:
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)