orc-order-v2/clean.py

88 lines
2.5 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
清理脚本 - 用于删除无关的文件和日志
"""
import os
import shutil
import glob
def clean_logs():
"""清理日志文件"""
print("清理日志文件...")
# 删除.active文件
active_files = glob.glob("logs/*.active")
for file in active_files:
try:
os.remove(file)
print(f"已删除: {file}")
except Exception as e:
print(f"删除文件时出错 {file}: {e}")
# 保留最新的日志,删除旧的备份
log_files = glob.glob("logs/*.log.*")
for file in log_files:
try:
os.remove(file)
print(f"已删除: {file}")
except Exception as e:
print(f"删除文件时出错 {file}: {e}")
def clean_temp_files():
"""清理临时文件"""
print("清理临时文件...")
# 清空临时目录
temp_dir = "data/temp"
if os.path.exists(temp_dir):
for file in os.listdir(temp_dir):
file_path = os.path.join(temp_dir, file)
try:
if os.path.isfile(file_path):
os.remove(file_path)
print(f"已删除: {file_path}")
elif os.path.isdir(file_path):
shutil.rmtree(file_path)
print(f"已删除目录: {file_path}")
except Exception as e:
print(f"删除文件时出错 {file_path}: {e}")
# 删除备份文件
backup_files = glob.glob("data/*.bak") + glob.glob("config/*.bak")
for file in backup_files:
try:
os.remove(file)
print(f"已删除: {file}")
except Exception as e:
print(f"删除文件时出错 {file}: {e}")
def clean_pycache():
"""清理Python缓存文件"""
print("清理Python缓存文件...")
# 查找并删除所有__pycache__目录
for root, dirs, files in os.walk("."):
for dir in dirs:
if dir == "__pycache__":
cache_dir = os.path.join(root, dir)
try:
shutil.rmtree(cache_dir)
print(f"已删除目录: {cache_dir}")
except Exception as e:
print(f"删除目录时出错 {cache_dir}: {e}")
def main():
"""主函数"""
print("开始清理无关文件...")
clean_logs()
clean_temp_files()
clean_pycache()
print("清理完成!")
if __name__ == "__main__":
main()