clean_logs.py 1.5 KB

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