用 Python 批量整理你的剧集文件,智能识别 + 多种重命名模式 + 无缝对接 OpenList
OpenList 交互式剧集重命名工具是一款基于 Python 的命令行工具,专为连接 OpenList 服务并批量重命名剧集文件而设计。通过直观的交互界面,支持从文件名自动提取剧集信息,并提供多种灵活的重命名策略,让媒体库整理变得高效又省心。
核心功能
目录浏览
- 交互式导航 OpenList 远程文件系统
- 实时列出当前目录下的视频文件与子目录
- 支持
0键返回上级目录,数字键进入子目录
批量重命名
支持四种重命名模式,满足不同场景需求:
| 模式 | 说明 |
|---|---|
| 智能重命名 | 自动解析原始文件名中的剧名、季数、集数,标准化输出(如 S01E01) |
| 手动重命名 | 逐个为文件指定新名称,适合特殊命名需求 |
| 统一样式 | 使用统一模板(如 {title}.S{season}E{episode:02d}),自动递增集号 |
| 正则替换 | 通过正则表达式进行高级文本替换,适用于复杂格式清洗 |
剧集信息识别
- 自动从常见命名格式(如
剧名.S01E01.1080p.mkv)中提取:- 剧集标题(title)
- 季数(season)
- 集数(episode)
用户体验优化
- Rich 终端界面:美观、彩色、结构化显示(推荐使用)
- 操作预览:重命名前显示完整变更列表,需手动确认
- 进度指示:执行过程中显示可视化进度条
- 错误处理:完善的异常捕获与用户提示,避免误操作
新增:登录与配置管理
Token 持久化
- 登录成功后,JWT 令牌将保存至本地文件:
$EPISODE_PATH/token(若未设置环境变量,则默认保存到/tmp/token) - 启动时自动检测令牌有效性,有效则跳过登录
配置文件
- 首次运行时输入的 OpenList 服务地址将保存至:
~/.episoderenamer_config.ini - 后续启动自动加载该地址,无需重复输入
系统要求
- Python 3.7 或更高版本
- 可访问 OpenList 服务(需网络连通)
- 支持的视频格式:
.mp4,.mkv,.avi,.mov,.wmv,.flv,.webm,.m4v,.mpg,.mpeg,.ts,.m2ts,.vob,.iso
安装与使用
1. 获取代码
git clone https://github.com/xiaobili/openlist_episode_rename.git
cd interactive-episode-renamer
2. 安装依赖
pip install requests rich
3. 运行程序
# 推荐:使用 Rich 美化界面
python interactive_episode_renamer_with_rich.py
# 基础版本(无 Rich 依赖)
python interactive_episode_renamer.py
配置参数
| 项目 | 说明 |
|---|---|
| 服务地址 | OpenList 实例 URL(如 http://192.168.1.1:5244) |
| 用户名/密码 | OpenList 账户凭据 |
| 令牌路径 | 由环境变量 $EPISODE_PATH 控制,默认 /tmp/token |
| 配置文件 | ~/.episoderenamer_config.ini,存储默认服务地址 |
使用流程
- 启动程序
→ 自动尝试加载本地令牌
→ 若无效,提示输入服务地址、用户名、密码 - 首次配置
→ 输入 OpenList 地址后,自动保存至配置文件 - 浏览目录
→ 选择数字进入子目录,0返回上级 - 选择文件 & 重命名
→ 勾选目标视频文件
→ 选择重命名模式
→ 预览变更 → 确认执行 - 命名模板示例
{title}.S{season}E{episode:02d} → 权力的游戏.S01E01.mp4
Season_{season}_Episode_{episode:02d}_{title} → Season_01_Episode_01_权力的游戏.mp4
技术架构
主要组件
InteractiveEpisodeRenamer:核心重命名逻辑类- API 集成:与 OpenList REST API 通信
- 文件系统操作:远程目录遍历与重命名
- Token 管理:本地持久化与自动恢复
- 配置管理:INI 文件读写与默认值加载
调用的 OpenList API
POST /api/auth/login—— 用户认证GET /api/fs/list—— 获取目录内容POST /api/fs/batch_rename—— 批量重命名文件
适用场景
- 整理从不同来源下载的剧集,统一命名规范
- 修复乱码、缺失季集信息的文件名
- 为 Plex / Jellyfin / Emby 媒体服务器准备标准化文件
- 自动化媒体库维护脚本的前端交互工具











评论