最近处理bug,总结一下什么是好的命令行程序:

  1. 无参数调用时,显示帮助

  2. 记录日志到文件

  3. 关键步骤要打印log到标准输出

  4. 出错提示信息要写到标准错误里去

  5. 要有退出值

  6. python程序不要屏蔽异常,要打印到stderr里去

  7. 脚本初始时要明确的检验执行权限、目录是否满足需求

  8. python程序最好不要用PYTHONPATH来设置包含路径,移植和多人合作问题太多,应该直接链接到site-packages下去

  9. 脚本要有自测功能,加某一参数可以运行测试程序