删除日志文件

删除日志文件

需求:删除三天前的日志和空日志

  分析:

  1、取到所有的日志文件,os.walk()

  2、获取文件时间,并转成时间戳

  3、获取三天前的时间,time.time() - 60 * 60 * 60 * 23 * 3

  4、判断时间,删除三天前的文件和空文件

 

 1 import os,time
 2 def str_to_timestamp(string=None,format = '%Y-%m-%d %H:%M:%S'):
 3     if string:
 4         time_tuple = time.strptime(string,format)  #格式化好的时间转时间元组
 5         result = time.mktime(time_tuple)  #时间元组转时间戳
 6     else:
 7         result = time.time()
 8     return int(result)
 9 
10 def datate_logs(path,days=3):
11     if not os.path.isdir(path):
12         print("传如的不是一个文件夹")
13         return
14     for root,dirs,files in os.walk(path):
15         for file in files:
16             if file.endswith('.log'):  #判断文件是否以.log结尾
17                 f = file.split('.')[0]
18                 file_time = f.split('_')[-1]   #取到文件时间
19                 file_time_stamp = str_to_timestamp(file_time,'%Y-%m-%d')  #调用函数把时间转成时间戳
20                 three_day_ago = time.time() - 60 * 60 * 23 * days
21                 file_path = os.path.join(root,file)
22                 if file_time_stamp < three_day_ago or os.path.getsize(file_path) ==0:
23                     os.remove(file_path)
24 
25 datate_logs('logs')

 

 

 

posted @ 2019-11-16 16:47  xmb  阅读(262)  评论(0)    收藏  举报