| """清理缓存工具""" |
|
|
| 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() |