• python使用笔记13--清理日志小练习


     1 '''
     2 写一个删除日志的程序,删除5天前或为空的日志,不包括当天的
     3 1.删除5天前的日志文件
     4 2.删除为空的日志文件
     5 '''
     6 import os
     7 import time
     8 
     9 def delete_logs_file():#清理日志
    10     for cur_dir,dirs,files in os.walk('logs'):
    11         print(cur_dir,dirs,files)
    12         if files:#当文件列表不为空是,开始删除
    13             for file_name in files:
    14                 file_time = get_filename_time(file_name)#获取文件名的时间
    15                 is_delete_file = check_time(file_time)
    16                 file_path = os.path.join(cur_dir,file_name)
    17                 if is_delete_file:
    18                     os.remove(file_path)
    19                 else:
    20                     if check_time_is_today(file_time):#文件时间不是今天
    21                         if check_file_content(file_path):#文件为空,可以删除
    22                             print('文件为空',file_path)
    23                             os.remove(file_path)
    24 
    25 
    26 
    27 def get_filename_time(file_name):#获取文件名中的时间
    28     if file_name:
    29         temp = file_name.split('_')
    30         file_name_time = temp[1][:10]
    31         return file_name_time
    32 
    33 def check_time_is_today(time_str):#判断时间是否为当天
    34     today = time.strftime('%Y-%m-%d')#获取当天的格式化时间
    35     if today == time_str:
    36         return False
    37     else:
    38         return True
    39 
    40 def check_time(time_str):#判断时间是否为5天前的时间
    41     now_time = time.time()#获取当前的时间戳
    42     day_ago = now_time-5*24*60*60#获取5天前的时间戳
    43     temp_time = time.strptime(time_str,'%Y-%m-%d')#获取传入时间的元组
    44     time_zone = time.mktime(temp_time)
    45     if time_zone <= day_ago:
    46         return True
    47     else:
    48         return False
    49 
    50 def delete_file(file_path):#删除指定文件
    51     os.remove(file_path)
    52 
    53 def check_file_content(file_path):#判断文件是否为空
    54     file_size = os.path.getsize(file_path)
    55     if file_size == 0:
    56         return True
    57     else:
    58         return False
    59 
    60 delete_logs_file()
    
  • 相关阅读:
    给花花看的链接
    Arguments Optional闭包
    对闭包最好的解释
    Everything Be True判断对象是否存在指定的属性且有值
    Binary Agents将二进制句子翻译成英文
    伤情鉴定和伤残鉴定
    Steamroller 数组扁平化处理
    Drop it
    2021年flag-300+道算法~~~
    微服务之玉麟宝典,呕心沥血的日常
  • 原文地址:https://www.cnblogs.com/cjxxl1213/p/12905031.html
Copyright © 2020-2023  润新知