mdict 中文文档 下载 App

mdtt 命令行工具 — 用 Python 脚本批量打包 mdx 词典

mdtt 是什么

mdtt(MDict Toolkit 的缩写)是一个开源的 Python 库,提供了 mdx/mdd 词典的读取、打包、编辑三大能力。跟 MDXBuilder 的 GUI 不同,mdtt 纯粹是命令行工具——可以在脚本里调用、可以在服务器上无界面运行,适合批量制作和 CI 自动化。

GitHub 项目主页:github.com/zhansliu/writemdict(社区也有 mdtt 这个 PyPI 包,功能相同)。

安装

最直接的方式:

pip install mdtt

或者从源码安装(Git Clone 后 pip install .)。mdtt 依赖很少(只需要 Python ≥3.6 和标准库 + requests),在任何能跑 Python 的平台上(Windows / Linux / Mac)都能用——这一点比 MDXBuilder(只支持 Windows)灵活得多。

命令行接口

mdtt 提供了几个核心命令:

pack — 打包 mtxt 为 mdx

mdtt pack -a dictionary.mtxt

这是最常用的命令:把 dictionary.mtxt 编译成同名的 .mdx。如果 mtxt 里引用了资源文件(@ 前缀的图片/音频),mdtt 会自动把它们打包进同名的 .mdd。

常用选项:

选项说明
-a mtxt_file指定输入的 mtxt 文件
-o output_file指定输出文件名(可选,默认同名)
--title "词典标题"设置词典标题(会在 MDict 词库列表里显示)
--description "描述"设置词典描述(可选)
--author "作者"设置作者信息
--cover image.png设置词典封面图标(显示在 MDict 的词典详情页)
--no-mdd不打包 mdd(只输出纯 mdx)

完整示例:

mdtt pack -a mydict.mtxt -o output/my_dict.mdx --title "我的英语词典" --author "我" --description "自制的英语词汇手册"

edit — 编辑已有 mdx

mdtt edit dictionary.mdx -a edit.mtxt

用新的 mtxt 文件增量修改已有词典——这在后期迭代词典内容时比每次全部重编高效得多。

view — 查看 mdx 结构

mdtt view dictionary.mdx

打印词典的元信息(标题、作者、条目数、mdd 列表等),快速检查编译结果是否正确。

dump — 把 mdx 拆回 mtxt

mdtt dump dictionary.mdx -a output.mtxt

把一个已有的 mdx 词典反向导出为 mtxt 源文件。这个功能特别有用——你可以下载一本别人做的词典,dump 回来看看 mtxt 长什么样,作为学习范例。

Python API

mdtt 也可以直接当 Python 库用,适合在更大的自动化流程中嵌入:

from mdtt import pack_dict

pack_dict(
    mtxt_file="mydict.mtxt",
    mdx_file="output/mydict.mdx",
    title="我的词典",
    author="我",
    generate_mdd=True
)

mdtt vs MDXBuilder 对比

对比维度mdttMDXBuilder
平台跨平台(Python)仅 Windows
界面命令行GUI + 命令行
输入格式mtxtmtxt + HTML
输出格式mdx 2.xmdx 1.x / 2.x + mdd 分卷
批量处理轻松(Python 脚本循环)困难(需手动操作)
HTML 排版不支持(mtxt 只有基础标记)完整支持
mdd 分卷不支持支持
学习成本极低中等(manual.txt 需要精读)
适合场景批量、自动化、纯文本词典精品词典、精美排版

推荐路线