跳到正文
MyDSH我的 DSH 实战笔记
English
独立维护,非DeepSeek官方;与mydsh.dev等其他MyDSH站点无关联。

首页/工作区与文件/批量与长目录

先试 10 份再扩到 100:用成功率决定要不要继续

有一百份文件要处理,直接全量跑怕跑一半崩了,也怕跑完了才发现格式不对。

已核验版本与环境核验日期2026-11-14
工具
pymupdf + Python 3.13
样本
100份自造PDF,每5份里有1份无文本层
核验日期
2026-11-14

可复制指令

# 先 10 份,确认后把范围改成全部

实测数字,先看结果再看方法:

批次总数成功失败耗时平均
全量10080202.46秒25 ms/份
前10份1082约0.25秒25 ms/份

关键发现:前10份里就有2份失败,已经暴露出20% 的失败率。也就是说你不用跑完一百份就知道这批数据有问题。这就是「先试10份」的全部价值——它不省时间,它省的是「跑完才发现方向错了」的那段时间。

核对等式

批量任务必须满足这一个等式:

总数 = 成功数 + 失败数

看起来废话,但它是唯一能抓住「静默跳过」的检查。实测80 + 20 = 100成立;如果你的脚本报「处理了78份」,那两份就是消失了——比失败更糟,因为你不知道它们是谁。

配方怎么写

处理 pdfs/ 下前 10 个 PDF,逐个提取正文前 200 字。
输出:
- 一个表格,列:文件名、字符数、前 200 字
- 最后一行:总数 / 成功 / 失败 / 失败清单

要求:读不出正文的文件也要出现在表里,标「读取失败」,不要跳过。
先只做这 10 个,我确认格式后再继续。

「先只做这10个,我确认后再继续」这句是整套做法的核心。它把一次全量赌博变成两次小确认。

扩到全量时改什么

  • 只改范围(前10个 → 全部),不要改输出格式。格式一改,前10份的确认就白做了。
  • 如果全量要分批(例如每50个一批),在指令里写明批次边界与合并方式。
  • 跑完第一件事就是核对等式,再谈内容对不对。

怎么算跑通

照着逐条对,全过才算完成。有一条没过,先解决它再往下。

  • 总数 = 成功 + 失败,等式成立
  • 失败清单里的文件确实存在于输入
  • 输出格式在扩量前后完全一致

会失败在哪

现象 / 原因 / 怎么办,按实际踩到的顺序写。

现象原因怎么办
成功数加失败数小于总数有文件被静默跳过(异常被catch后没记录)把失败也写进表,哪怕是「读取出错」也要留行
前10份全成功,全量失败率突然20%样本不随机:失败集中在后半批改用随机抽样10份,不要取前10个

来源

标「已核验」的,来自本站实跑;标「公开资料整理」的,逐条附出处。