txt小说文件没有目录怎么办?Python三行脚本自动分章+目录生成教程

6天前发布 esoua
1 00
网盘资源搜索

​蹲地铁打开《诡秘之主》,结果50M的TXT从头拉到尾都找不到第3章?章节全挤成一坨,想跳读只能靠瞎蒙?​​ 别摔手机!小编今天教你用​​三行Python代码​​秒建目录树,连生僻字标题都能自动分章!


一、为啥手动加目录比追更还累?

手机阅读器遇到不规范的标题直接摆烂——比如“卷一·苍城古墓”被当成正文,或者“Chapter 1.2”挤在段落中间。更崩溃的是,有些工具号称自动分章,结果把“第一章”和“第一章 重名”拆成两节……​​想精准跳转?全靠缘分!​


二、三行代码核心:正则表达式才是真·目录神器

直接上干货!小编把20+教程浓缩成​​3行黄金代码​​(小白直接复制):

python下载复制运行
import re
chapters = re.split(r'(第[0-9一二三四五六七八九十百千]+章)', open('novel.txt').read())  # 切割章节
for i in range(1, len(chapters), 2): 
    open(f'第{i//2+1}章.txt', 'w').write(chapters[i] + chapters[i+1])  # 自动存文件

​举个栗子​​:处理《雪中悍刀行》时,代码连“第玖拾柒回 剑仙跪地”这种标题都能抓,比人眼还准!


三、避坑指南:三种畸形标题急救方案

遇到非常规格式别慌,改个正则就能救:

​标题类型​

​正则写法​

​解决案例​

中英文混合

r'(第\d+章\|Chapter\s+\d+)'

“Chapter 3”秒变目录节点

带标点标题

r'(第\d+章【.*?】)'

修复“第12章【重生】”乱码

生僻字章节名

r'(卷[一二三四五六七八九十]+·.*?)'

识别“卷三·饕餮盛宴”

​小编翻车经验​​:曾把“第二章 作者有话说”误判成正文,后来在正则里加(?!作者有话说)排除才搞定


四、高阶技巧:目录树+电子书一键生成

分完章还想导出带目录的电子书?两招封神:

1️⃣ ​​EPUB神器kaf-cli​​:

  • 拖入分章后的文件夹 → 自动生成带目录的epub,连封面都能加

  • 适合懒人,但标题识别规则固定

    2️⃣ ​​Calibre硬核自定义​​:

  • 用正则###第\1章标记标题 → Calibre选“//h:h3”生成目录

  • 自由度拉满,但得学XPath语法


五、血泪建议:少走弯路的终极心法

  • ​老手机用户​​:别用re.split一次性加载文件!改用​​逐行扫描​​防崩溃(参考《红楼梦》脚本)

  • ​通勤党必看​​:分章前先os.makedirs('output')建文件夹,否则文件散满桌面

  • ​玄幻小说控​​:正则里加[·]匹配分隔符,否则“卷三·昆仑”会被砍成两段!

​最后暴言​​:与其被广告阅读器折磨,不如花5分钟学Python——​​左手切章节、右手生目录,追更速度比克莱恩偷窃念头还快!​

© 版权声明

相关文章

暂无评论

none
暂无评论...