Day 075 练习题清单
练习 1:扩展功能 ⭐⭐
为重命名工具添加以下功能: - 按文件大小重命名 - 按文件类型分组重命名 - 批量移动到子目录 - 支持撤销操作
要求:
- 实现 size_rename() 方法
- 实现 group_by_type() 方法
- 实现 move_to_subdirs() 方法
- 实现 undo() 方法(基于 JSON 报告)
- 编写完整的测试用例
练习 2:Web 界面 ⭐⭐⭐
为重命名工具添加 Web 界面: - 使用 Flask/FastAPI - 上传文件并预览重命名 - 实时预览变更 - 下载重命名报告
要求: - 实现文件上传功能 - 实现预览 API - 实现重命名 API - 前端界面美观易用 - 添加用户认证(可选)
练习 3:插件系统 ⭐⭐⭐
为重命名工具实现插件系统: - 定义插件接口 - 实现内置插件 - 支持第三方插件 - 插件配置管理
要求:
- 定义 Plugin 基类
- 实现 PluginManager 类
- 实现至少 3 个内置插件
- 支持从外部目录加载插件
- 插件配置文件格式设计
练习 4:性能优化 ⭐⭐⭐⭐
优化重命名工具的性能: - 异步文件操作 - 并发重命名 - 进度条显示 - 内存优化
要求: - 使用 asyncio 实现异步操作 - 使用 concurrent.futures 实现并发 - 添加 tqdm 进度条 - 优化大目录的内存使用 - 性能测试和对比
练习 5:完整发布 ⭐⭐⭐⭐
将重命名工具发布到 PyPI: - 完善项目结构 - 编写完整文档 - 添加 CI/CD - 发布到 PyPI
要求: - 创建完整的 pyproject.toml - 编写详细的 README.md - 添加 CHANGELOG.md - 配置 GitHub Actions CI/CD - 成功发布到 TestPyPI - 编写用户文档
提交要求
- 所有练习的代码文件放在 exercises/ 目录
- 每个文件可以独立运行
- 添加必要的注释和文档字符串
- 包含测试用例和预期输出
- 运行 pytest 通过所有测试