绿色单文件的中文 TXT 批量处理工具 —— 编码转换、批量查找替换、章节分割、合并、内容提取、小说清洗、EPUB/DOCX 导出、可视化统计、十六进制/差异对比、Web 工作台,全程只动内存,保存才写盘。
一个为处理大量 TXT 文本(小说章节、日志、语料等)设计的桌面工具:把一批文件拖进来,统一转码、清洗、切割、合并,确认无误后再一次性写回磁盘。
- 多选 / 拖放加载:支持直接拖入文件夹,自动展开其中所有
.txt文件 - 编码自动探测与转换:支持 utf-8 / gbk / gb2312 / utf-16 / ansi,逐文件智能识别(含 BOM 处理),一键统一转码
- 保存到原文件:按每个文件实际读取的编码写回,并自动生成一次
.bak备份 - 另存为新文件:批量导出到指定目录
- 文件上移 / 下移:调整合并顺序
- 批量命名:按序号统一重命名
- 合并文件:按列表顺序合并为一个文件
- 分割章节:内置多种章节标题规则(第X章 / 卷/回/节/集/篇、序章/楔子/番外、Chapter X), 也支持自定义正则;分割前可预览章节列表与字数,分割后自动生成章节索引.txt
- 导出 EPUB:按章节规则自动分章,一键打包为 EPUB3 电子书(纯标准库实现,零依赖, 带目录导航,手机阅读器可直接打开),支持封面图(jpg/png/gif)与作者名
- 导出 Word(.docx):同样按章节分章,书名/作者/章节标题分级排版、正文首行缩进 (OOXML 最小结构,纯标准库零依赖)
- EPUB→TXT 反向导入:解析 spine 顺序提取全文(CLI
epub2txt),TXT↔EPUB 格式闭环
- 查找替换:支持正则、全字匹配、批量替换所有文件、标记全部匹配项
- 去重行、大小写转换
- 段首缩进 / 去除缩进
- 全角字母数字转半角(不动中文标点)
- 中文间标点统一(含"合并非标点后换行"选项)
- 去除 HTML 标签
- 添加前缀 / 后缀(逐行)
- 过滤广告行:自定义关键词列表(可保存复用、可从文件导入),批量删除包含广告词的行
- 章节去重:自动剔除内容完全重复、或同标题正文高度相似的章节(盗版书常见整章重复)
- 章节重排:按标题编号(中文数字/阿拉伯数字)升序整理乱序章节,开头内容保持最前
- 压缩连续空行 / 清理行首尾空白:一键规范排版
- 提取邮箱地址 / URL 链接 / 手机号,结果显示在弹出窗口,支持复制与另存
- 敏感词检查:自定义词表(随设置记忆、可从文件导入),定位所有包含敏感词的行
(大小写不敏感、行级定位、未命中词也列出)——只读分析,不修改任何内容,
适合发布前对照平台违禁词表自查;CLI
sensitive子命令可批量检查并输出报告
- 十六进制查看:弹窗显示文件开头字节的 hex 转储(偏移量 | 十六进制 | ASCII), 附"编码体检"——BOM 检测、UTF-8 合法性、GBK 兜底解码,一眼定位乱码根源
- 比较文件:选中恰好两个文件,生成彩色 HTML 差异报告(删除行红底、新增行绿底)
并自动用浏览器打开;CLI
diff可输出到文件
- 生成报告:一键产出单文件 HTML 统计报告,浏览器直接打开、离线可用(纯标准库,无外部依赖):
- 概览卡片:总字数、中文字符、非空行、章节数、预计阅读时长、对话行占比
- 章节字数分布柱状图(SVG,超 100 章自动聚合降采样,悬停显示数值,叠加中位基准线)
- 章节节奏提示:最长/最短章、异常短章(低于中位 40%)、连续短章段(水更/断更嫌疑)
- 人物出场曲线:按章节统计指定人名出现次数的多折线图(报告时输入人名即可)
- 高频汉字 Top30(自动剔除"的了是在"等虚词)、高频双字组合(人名/口头禅)
- 标点使用统计;数据全程本地生成,不上传
- 批量操作在后台线程执行,大文件、多文件不卡界面
- 批量操作可撤销:每次批量修改前自动快照(上限 5 步),「撤销上一步」一键恢复内存内容
- 检查更新:标题栏按钮联网对比 GitHub 最新 Release,发现新版可直达发布页
- 字数统计、状态栏实时显示文件编码与大小
- 快捷键:
Ctrl+S保存到原文件,Ctrl+Shift+S另存为,Ctrl+F跳到查找页 - 记住编码选择与窗口大小(
processor_settings.json) - 扁平化浅色主题、卡片式分组、编辑区右键菜单(撤销 / 剪贴板 / 全选)
- 未安装拖放库时自动降级为无拖放模式,功能不受影响
- GUI 生成报告时可选择同时导出 PDF 版本(调用本机 Edge/Chrome 无头模式打印,覆盖 Windows/macOS/Linux 常见安装路径)
- CLI:
stats 小说.txt --pdf 报告.pdf(可单独使用,不需要--out)
- Scoop 清单随仓库发布,发版时 CI 自动更新版本号与 sha256:
scoop install https://raw.githubusercontent.com/Croesus-K/paper-worker/main/paper-worker.json
- 安装后
PaperWorker-*-windows.exe进入 PATH,可双击启动 GUI 或直接执行 CLI 子命令
所有处理仅修改内存,需要手动"保存到原文件"或"另存为新文件"才会写盘;写回原文件前会自动生成一次 .bak 备份(按字节复制,原样保留原始内容)。保存时可选择换行符格式(系统默认 / LF / CRLF)。
python 全能TXT文本处理器.py serve # 启动后自动打开浏览器,Ctrl+C 停止
python 全能TXT文本处理器.py serve --port 9000 --no-browser- 浏览器里的完整操作台:本地打开/上传 TXT → 在线编辑 → 一键应用全部文本处理与小说清洗算子 → 下载/写回原文件(自动 .bak 备份)
- 在线导出:EPUB / DOCX / 章节ZIP / 统计报告
- 纯标准库
http.server实现,零依赖;仅监听 127.0.0.1,数据不离开本机
方式一:直接下载(推荐,无需 Python)
到 Releases 下载对应平台的单文件程序,双击即用(已内置拖放支持,杀软若误报请添加信任):
- Windows:
PaperWorker-*-windows.exe - Linux / macOS:
PaperWorker-*-linux/PaperWorker-*-macos(chmod +x后运行,需要图形环境)
方式二:从源码运行
# Python 3.x(tkinter 标准库自带,无需额外安装 GUI 依赖)
# 可选:启用拖放支持(未安装则自动降级)
pip install tkinterdnd2
# 运行
python 全能TXT文本处理器.py方式三:自行打包 exe
pip install pyinstaller tkinterdnd2
scripts\build_exe.bat # 或双击运行,输出位于 dist/不启动界面,适合脚本化批量处理;不带参数运行仍是图形界面。exe 同样支持(PaperWorker-*.exe <命令> ...)。
# 按章节分割为独立文件(输出到 小说_章节/ 目录,含章节索引)
python 全能TXT文本处理器.py split 小说.txt
# 导出 EPUB(自动分章、封面、作者名)
python 全能TXT文本处理器.py epub 小说.txt --out 小说.epub --author 某某 --cover cover.jpg
# 章节去重 / 重排(默认结果输出到 stdout,加 --in-place 覆盖原文件,自动 .bak 备份)
python 全能TXT文本处理器.py dedup 小说.txt --in-place
python 全能TXT文本处理器.py sort 小说.txt --in-place
# 广告行过滤(关键词文件每行一个)
python 全能TXT文本处理器.py adfilter 小说.txt --words-file 广告词.txt --in-place
# 编码转换(源编码自动探测)
python 全能TXT文本处理器.py convert *.txt --to utf-8 --outdir 转码后/
# 文本统计:默认输出 JSON(便于脚本/其他程序消费),--out 生成 HTML 可视化报告
python 全能TXT文本处理器.py stats 小说.txt
python 全能TXT文本处理器.py stats 小说.txt --out 报告.html
# 十六进制查看(排查乱码:BOM/编码体检 + hex 转储)
python 全能TXT文本处理器.py hex 疑似乱码.txt --bytes 2048
# 文件对比:stdout 输出 unified diff,--out 生成彩色 HTML 报告
python 全能TXT文本处理器.py diff 旧版.txt 新版.txt --out 对比.html
# 查看版本 / 联网检查更新
python 全能TXT文本处理器.py version
python 全能TXT文本处理器.py version --check
# 大文件(>8MB)转码自动走流式,内存占用与文件大小无关
python 全能TXT文本处理器.py convert 超大日志.txt --to utf-8 --outdir 转码后/
# 导出 Word 文档(按章节分章、书名/作者/标题分级排版)
python 全能TXT文本处理器.py docx 小说.txt --out 小说.docx --author 某某
# EPUB 反向导入为 TXT
python 全能TXT文本处理器.py epub2txt 小说.epub --out 小说.txt
# 敏感词检查(词表每行一个,stdout 输出报告,--out 写文件)
python 全能TXT文本处理器.py sensitive 小说.txt --words-file 词表.txt
# 启动 Web 工作台(浏览器操作,见上文专节)
python 全能TXT文本处理器.py serve
# 统计报告直接导出 PDF(需要本机 Edge/Chrome)
python 全能TXT文本处理器.py stats 小说.txt --pdf 报告.pdf
# 全部子命令支持 --pattern 自定义章节正则、--encoding 指定读取编码
python 全能TXT文本处理器.py --help各命令的 dedup/sort/adfilter 串联使用即可组成完整的"盗版小说清洗 → 分章 → EPUB"流水线。
paper-worker/
├── 全能TXT文本处理器.py # 全部代码,单文件,开箱即用
├── scripts/
│ └── build_exe.bat # PyInstaller 一键打包脚本
├── tests/
│ └── test_logic.py # 纯逻辑单元测试(python tests/test_logic.py)
├── .github/workflows/
│ └── release.yml # 推送 v* tag 自动打包 exe 并发布 Release
├── README.md
├── LICENSE
└── .gitignore