自动化工具先追求可靠
写脚本的快乐,在于把重复操作交给机器。写脚本的痛苦,在于它第二次运行时把第一次的结果弄坏了。
我会特别注意三件事:输入清晰、重复执行安全、出错时能找到原因。
从路径开始
尽量使用 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"})
这个例子适合单进程演示;如果要支持并发写入、断电恢复等场景,还需要更严格的临时文件和持久化策略。
两个值得保留的测试
- 输入文件不存在时,应该明确报错,而不是默默生成错误结果。
- 连续运行两次,结果应该仍然符合预期。
日志比花哨界面更重要
记录开始时间、输入范围、输出路径和异常信息。等到自动化任务真的跑在服务器上,这些朴素的记录通常比动效更有用。
最后
好脚本不是「我电脑上能跑」,而是换个目录、过几天再跑,依然能理解和信任它的行为。