news 2026/9/13 3:51:15

如何设置 calibre 从添加书籍的文件名推断标题和作者等元数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何设置 calibre 从添加书籍的文件名推断标题和作者等元数据

如何设置 calibre 从添加书籍的文件名推断标题和作者等元数据

【免费下载链接】calibreThe official source code repository for the calibre ebook manager项目地址: https://gitcode.com/GitHub_Trending/ca/calibre

calibre 在添加书籍时默认从电子书文件内部读取元数据;当文件内元数据缺失、不准确,或你习惯用统一的文件名规范(如"标题 - 作者")来管理藏书时,可以让 calibre 改从文件名推断标题、作者等字段。整个配置只需要在设置对话框的Adding books(添加书籍)区块中完成:打开相关选项、确认或修改用于解析文件名的正则表达式、用内置测试字段验证,然后重新添加书籍即可看到推断结果。

在哪里配置

元数据从文件名推断的配置入口在 manual/gui.rst 的 "Guessing metadata from file names" 一节中有说明:

  • 正常情况 calibre 读取书籍文件内部的元数据,但可以配置为改为从文件名读取,入口为Preferences->Import/export->Adding books->Read metadata from file contents
  • 在设置对话框的Adding books区块中,可以指定一条正则表达式,calibre 会用它在把电子书添加到书库时,从文件名中推断元数据。

默认规则:title - author

manual/gui.rst 给出的默认正则表达式是:

title - author

含义是:文件名中第一个-之前的所有字符视为书籍标题,之后的部分视为作者。文档中的示例:

Foundation and Earth - Isaac Asimov.txt

会被解析为标题Foundation and Earth、作者Isaac Asimov

需要注意 manual/gui.rst 中明确给出的限制:如果文件名中不含连字符-,这条默认规则会匹配失败,不会得出任何元数据。也就是说默认规则只适合"标题 - 作者"这种命名习惯。

自定义正则表达式

如果你的文件命名不是"标题 - 作者"结构,需要自己写正则。calibre 在Adding books区块的正则中支持用字段名标记元数据字段,语法是(?P<字段名>...)。manual/regexp.rst 的 "Adding books" 一节给出的例子:文件名形如Classical Texts: The Divine Comedy by Dante Alighieri.mobi(系列名 + 冒号 + 标题 + by + 作者),而 calibre 的标准表达式(?P<title>.+) - (?P<author>[^_]+)解析不出有意义的数据,可用的正则表达式为:

[a-zA-Z]+: (?P<title>.+) by (?P<author>.+)

两点使用说明(均来自 manual/regexp.rst):

  • 在标记元数据字段的组内,需要写出具体的表达式来描述该字段实际匹配的内容,不能只留字段名。
  • 允许使用的字段名会列在设置窗口中;窗口里还有一个测试字段,写正则时应用它验证表达式是否按预期匹配。
  • 使用测试字段时,输入的测试文件名必须带上文件扩展名,否则即使表达式本身正确也不会得到匹配。

正则语法本身(字符集、量词、分组、大小写标志等)可以参照 manual/regexp.rst 的教程和 manual/regexp_quick_reference.rst 速查表。

验证推断结果

配置完成并保存设置后,用 manual/gui.rst 中 "Add books" 一节的入口添加书籍(Add books按钮支持从单个文件夹、文件夹及子文件夹添加),然后检查:

  1. 主窗口右侧的Book details面板会显示当前选中书籍的封面和全部元数据,直接查看标题、作者是否与文件名一致。
  2. 也可以打开Edit metadataEdit metadata individually)对话框核对各字段值。

如果Book details中显示的标题、作者与预期不符,说明正则没有匹配到文件名,回到Adding books区块用测试字段排查;对照上面的两条注意事项,先确认测试文件名带了扩展名,再检查组内表达式是否能覆盖文件名中该字段的实际内容。

相关说明

  • 文件内元数据与文件名推断的关系:Add books动作本身可以从多种电子书格式中读取元数据,同时也尝试从文件名推断元数据(见 manual/gui.rst),是否以文件名为准由前面Read metadata from file contents选项控制。
  • 如果文件名里连连字符都没有、又不适合写定制正则,可以考虑用Edit metadata系列动作(逐本编辑或批量编辑)手动补齐元数据,见 manual/gui.rst 的 "Edit metadata" 一节。

【免费下载链接】calibreThe official source code repository for the calibre ebook manager项目地址: https://gitcode.com/GitHub_Trending/ca/calibre

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 3:49:11

国家基因组科学数据中心核心资源与应用解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 3:45:27

LSTM-Adaboost在电力负荷预测中的优化应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 3:42:15

Verilog入门:从模块、always到assign的可综合实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 3:39:34

从NLP到多模态大模型:Transformer架构与跨模态技术解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华