自动化工具先追求可靠

写脚本的快乐,在于把重复操作交给机器。写脚本的痛苦,在于它第二次运行时把第一次的结果弄坏了。

我会特别注意三件事:输入清晰、重复执行安全、出错时能找到原因。

从路径开始

尽量使用 pathlib,别假定脚本总是从某个工作目录启动。

from pathlib import Path
import json

def save_json(path: str, data: dict) -> None:
    target = Path(path)
    target.parent.mkdir(parents=True, exist_ok=True)
    temp = target.with_suffix(target.suffix + ".tmp")
    temp.write_text(
        json.dumps(data, ensure_ascii=False, indent=2),
        encoding="utf-8"
    )
    temp.replace(target)

save_json("output/result.json", {"status": "ok"})

这个例子适合单进程演示;如果要支持并发写入、断电恢复等场景,还需要更严格的临时文件和持久化策略。

两个值得保留的测试

  • 输入文件不存在时,应该明确报错,而不是默默生成错误结果。
  • 连续运行两次,结果应该仍然符合预期。

日志比花哨界面更重要

记录开始时间、输入范围、输出路径和异常信息。等到自动化任务真的跑在服务器上,这些朴素的记录通常比动效更有用。

最后

好脚本不是「我电脑上能跑」,而是换个目录、过几天再跑,依然能理解和信任它的行为。