删除日志文件
删除日志文件
需求:删除三天前的日志和空日志
分析:
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')

浙公网安备 33010602011771号