整理前:
Downloads/
├── cat.jpg
├── report.pdf
├── video.mp4
└── temp.zip
运行后:
Downloads/
├── 图片/
│ └── cat.jpg
├── 文档/
│ └── report.pdf
├── 视频/
│ └── video.mp4
└── 压缩包/
└── temp.zip
核心技术点
路径处理:使用 pathlib 替代传统 os.path,支持跨平台路径操作
from pathlib import Path
downloads = Path.home() / 'Downloads' # 自动适配不同系统
分类策略:可扩展的文件类型映射表
file_types = {
'电子书': ['.epub', '.mobi'],
'设计素材': ['.psd', '.ai'],
# 添加新分类只需扩展此字典
}
安全操作:防止覆盖已有文件
dest_path = dest_dir / file_path.name
if dest_path.exists():
dest_path = dest_dir / f"{file_path.stem}_副本{file_path.suffix}"
shutil.move(str(file_path), str(dest_path))