我的组织花费大量时间处理GIS数据。我已经构建了许多执行不同数据处理步骤的python脚本。除了第一个脚本之外,所有脚本都依赖于不同的脚本来完成它才能启动。许多脚本需要5分钟以上才能执行(一个超过一个小时),所以我不想重复已执行的步骤。我希望这与Make类似,因此如果在“script3”中发生错误,我不必重新执行“script1”和“script2”。我可以重新运行“script3”。
SCons是否适合这个工具?我看了它,它似乎专注于编译代码而不是运行脚本。我对其他合适的工具持开放态度。
答案 0 :(得分:2)
我不确定构建系统是否是您想要的。除非我遗漏了什么,否则你需要的是某种受控的自动化来执行你的处理任务,并处理运行时错误。
当然,'make'和'SCons'可以做到这一点,但就像使用火箭筒敲钉子一样。而且你实际上忽视了从长远来看投入时间学习可能更容易和更有价值的东西,这就是Python本身。 Python是一种成熟的多范式编程语言,具有强大的异常处理和与操作系统交互的许多功能(在Unix类平台上大量用于系统管理)。
第一个简单步骤是让主脚本调用每个其他脚本,每个脚本位于try ... except
块内,并根据您的要求处理异常。您可以通过将脚本重构为一致的Python应用程序来改进。