首页
/ `tvnamer` 技术文档

`tvnamer` 技术文档

2024-12-12 13:06:02作者:仰钰奇

1. 安装指南

通过 pip 安装

tvnamer 的官方推荐安装方式是通过 pip 进行安装:

pip install tvnamer

此命令将安装 tvnamer 命令行工具及其依赖项。

通过平台/发行版特定的包管理器安装

tvnamer 也被社区打包在多种平台和发行版的包管理器中,包括:

  1. Homebrew for OS X:

    brew install tvnamer
    
  2. Debian:

    apt-get install tvnamer
    
  3. FreeBSD/DragonFlyBSD/MacPorts:

    pkg install py36-tvnamer
    
  4. Nix package manager:

    nix-env -iA nixpkgs.python37Packages.tvnamer
    

安装开发版本

虽然不推荐普通用户使用,但如果你想安装不稳定的开发版本,可以参考 CONTRIBUTING.md 中的详细说明。

2. 项目使用说明

基本用法

tvnamer 是一个用于重命名电视节目文件的工具,它可以将文件名从 some.show.s01e03.blah.abc.avi 重命名为 Some Show - [01x03] - The Episode Name.avi。它通过从 tvdb_api 获取剧集信息来实现这一功能。

命令行使用

在命令行中,只需运行以下命令:

tvnamer the.file.s01e01.avi

例如:

$ tvnamer brass.eye.s01e01.avi
####################
# Starting tvnamer
# Found 1 episodes
# Processing brass.eye.s01e01.avi
TVDB Search Results:
1 -> Brass Eye [en] # http://thetvdb.com/?tab=series&id=70679&lid=7
Automatically selecting only result
####################
# Old filename: brass.eye.s01e01.avi
# New filename: Brass Eye - [01x01] - Animals.avi
Rename?
([y]/n/a/q)

输入 y 并按回车键,文件将被重命名为 Brass Eye - [01x01] - Animals.avi。你也可以直接按回车键选择默认选项,默认选项用 [] 表示。

批量重命名

你可以通过指定多个文件或目录来批量重命名文件:

$ tvnamer file1.avi file2.avi etc
$ tvnamer .
$ tvnamer /path/to/my/folder/
$ tvnamer ./folder/1/ ./folder/2/

递归重命名

默认情况下,tvnamer 只会递归到目录的第一层。如果你希望重命名所有文件,可以使用 -r--recursive 标志:

tvnamer --recursive dir1/

3. 项目API使用文档

命令行参数

tvnamer 提供了多种命令行参数,可以通过以下命令查看所有可用参数及其简短描述:

tvnamer --help

常用参数

  • --batch: 自动选择第一个搜索结果并自动重命名所有文件。
  • --selectfirst: 选择第一个搜索结果,但不自动重命名。
  • --always: 选择正确的剧集后,自动重命名所有文件。
  • --series-id: 允许你使用来自 theTVdb 的特定 ID,有助于解决名称检测问题。

4. 项目安装方式

通过 pip 安装

pip install tvnamer

通过平台/发行版特定的包管理器安装

  • Homebrew for OS X:

    brew install tvnamer
    
  • Debian:

    apt-get install tvnamer
    
  • FreeBSD/DragonFlyBSD/MacPorts:

    pkg install py36-tvnamer
    
  • Nix package manager:

    nix-env -iA nixpkgs.python37Packages.tvnamer
    

安装开发版本

参考 CONTRIBUTING.md 中的详细说明。

5. 配置文件

生成默认配置文件

你可以通过以下命令生成默认的 JSON 配置文件:

tvnamer --save=./mytvnamerconfig.json

使用自定义配置

要使用自定义配置,你可以通过以下方式指定配置文件路径:

tvnamer --config=/path/to/mytvnamerconfig.json

或者将配置文件放在 ~/.config/tvnamer/tvnamer.json 路径下。

配置选项

你可以在配置文件中自定义 tvnamer 的行为,例如更改默认语言:

{
    "language": "fr"
}

更多配置选项的详细描述,请参考 config_defaults.py 中的注释。

6. 自定义输出文件名

tvnamer 允许你自定义输出文件名的格式。你可以通过修改配置文件中的相关选项来实现。例如,如果你想将文件名格式设置为 Show Name 01x24 Episode Name.avi,可以将 filename_with_episode 选项设置为:

"filename_with_episode": "%(seriesname)s %(seasonno)02dx%(episode)s %(episodename)s%(ext)s"

这个格式化语言使用的是 Python 的字符串格式化功能。

热门项目推荐
相关项目推荐

项目优选

收起
Python-100-DaysPython-100-Days
Python - 100天从新手到大师
Python
610
115
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
286
79
mdmd
✍ WeChat Markdown Editor | 一款高度简洁的微信 Markdown 编辑器:支持 Markdown 语法、色盘取色、多图上传、一键下载文档、自定义 CSS 样式、一键重置等特性
Vue
111
25
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
60
48
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
45
29
go-stockgo-stock
🦄🦄🦄AI赋能股票分析:自选股行情获取,成本盈亏展示,涨跌报警推送,市场整体/个股情绪分析,K线技术指标分析等。数据全部保留在本地。支持DeepSeek,OpenAI, Ollama,LMStudio,AnythingLLM,硅基流动,火山方舟,阿里云百炼等平台或模型。
Go
1
0
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
205
57
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
376
36
RuoYi-VueRuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
182
44
frogfrog
这是一个人工生命试验项目,最终目标是创建“有自我意识表现”的模拟生命体。
Java
8
0