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