# -*- coding: utf-8 -*- # Author : Charley # Python : 3.8.10 # Date: 2024-09-29 10:54 import os from loguru import logger from datetime import datetime, timedelta def clean_logs(): # 定义要处理的日志文件夹 log_folders = ['bidding_logs', 'change_logs', 'sold_logs'] # 获取前天的日期 today = datetime.now().date() cutoff_date = today - timedelta(days=2) for folder in log_folders: # 构建完整路径 folder_path = os.path.join(os.getcwd(), folder) if not os.path.exists(folder_path): logger.warning(f"警告: 文件夹 {folder} 不存在.") continue # 列出该文件夹下所有的.log文件 for filename in os.listdir(folder_path): if filename.endswith('.log'): file_date_str = filename.split('.')[0] # 去掉.log后缀 try: file_date = datetime.strptime(file_date_str, '%Y%m%d').date() # 如果文件日期早于截止日期,则删除文件 if file_date < cutoff_date: file_path = os.path.join(folder_path, filename) os.remove(file_path) logger.info(f"已删除过期日志文件: {file_path}") except ValueError: logger.error(f"无法解析文件名中的日期: {filename}") logger.info("日志清理完成 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")