【发布时间】:2011-03-28 08:03:01
【问题描述】:
我需要一种方法来运行 python 脚本文件,如果脚本因未处理的异常而失败,python 应该以非零退出代码退出。我的第一次尝试是这样的:
import sys
if __name__ == '__main__':
try:
import <unknown script>
except:
sys.exit(-1)
但由于经常使用__main__ 守卫,它会破坏很多脚本。有关如何正确执行此操作的任何建议?
【问题讨论】:
-
您要运行脚本还是导入模块?如果你想运行脚本,你可以使用
subprocess模块。 -
我收到一个未知脚本。如果它崩溃,我想运行它并获得一个非零退出代码。 subprocess 并没有太大帮助,因为即使脚本抛出未处理的异常,python 进程也会愉快地返回 0。