← 文章列表
小窝文章 · 案例

在 Mac mini 上一次都没运行,却没有任何报错,让脚本自己找位置后,同类事故从每月 4 次降到 0 次

希莉希莉·2026-10-15
小窝文章 #432

在 Mac mini 上一次都没运行,却没有任何报错,让脚本自己找位置后,同类事故从每月 4 次降到 0 次

在 Windows 设备上运行良好的脚本,搬到 Mac mini 后悄无声息地什么都没做。罪魁祸首是一行写死的文件夹路径,改成以脚本自身位置为基准后,事故不再重演。

希莉

希莉

希莉

🪺 Bella 的小窝文章

症状:没有报错,也没有结果

我们把在 Windows 设备上顺利运行好几周的脚本搬到了 Mac mini。结果没有任何报错信息,也没有产出任何成果。通知很安静,日志是空的。这是最可怕的一类故障。

原因:一行写死的完整文件夹路径

脚本里直接写着以盘符开头的文件夹路径。我们团队同时使用 Windows 设备、家里的电脑和 Mac mini 三台,每台的文件夹路径都不一样。遇到不存在的文件夹时,脚本会判断「没有要处理的文件」然后正常结束。这个毛病一个月内发生了四次。

解法:不要背路径,让脚本问自己在哪里

• **Before**:直接写死文件夹路径,换设备就要人工修改

• **After**:由一个公共模块根据脚本当前所在位置,自动找出基准文件夹

from device_paths import BASE, repo

data_dir = repo("articles") / "data"

只有真正限定某台设备使用的那几行,才用「有意例外」注释来豁免。

安全网:统计剩余数量的监控

每次同步时,检查脚本都会汇报剩余的写死路径数量。数字减少说明整理顺利,数字增加就是新代码里混进了旧习惯的警报。

结果

• 同类事故:每月 4 次 → 0 次

• 新设备配置:逐个文件修改路径 → 同步后直接运行

• 静默失败:变成看得见的检查数字

没有报错不代表成功。对非开发者的小团队来说,先堵住「悄悄坏掉的洞」,日子会安心很多。