"""清理缓存工具""" import sys import os sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from utils import CacheManager from config import Config def clear_cache(pattern=None, confirm=True): """清理缓存 Args: pattern: 匹配模式,None表示清理所有 confirm: 是否需要确认 """ cache = CacheManager() info = cache.get_cache_info() print("="*70) print("🗑️ 缓存清理工具") print("="*70) print(f"\n当前缓存状态:") print(f" 文件数量: {info['count']}") print(f" 占用空间: {info['size_mb']} MB") print(f" 缓存目录: {Config.CACHE_DIR}") if info['count'] == 0: print("\n✓ 缓存为空,无需清理") return if pattern: print(f"\n将清理匹配 '{pattern}' 的缓存") else: print(f"\n⚠️ 将清理所有缓存文件") if confirm: response = input("\n确认清理?(y/n): ").strip().lower() if response not in ['y', 'yes', '是']: print("已取消") return print("\n清理中...") cache.clear(pattern) # 显示清理后状态 new_info = cache.get_cache_info() print(f"\n✓ 清理完成") print(f" 剩余文件: {new_info['count']}") print(f" 释放空间: {info['size_mb'] - new_info['size_mb']:.2f} MB") def main(): import argparse parser = argparse.ArgumentParser(description="清理缓存") parser.add_argument("-p", "--pattern", help="匹配模式") parser.add_argument("-y", "--yes", action="store_true", help="不询问直接清理") args = parser.parse_args() clear_cache(args.pattern, not args.yes) if __name__ == "__main__": main()