如何退出嵌套的python脚本?

时间:2016-11-22 10:58:32

标签: python python-2.7 python-3.x exit

我有两个python脚本调用a.pyb.py

a.py内部,我发出命令

os.system('python b.py')

如果在b.py中发现了一些异常,我希望暂停a.pyb.py的完整执行。有没有办法做到这一点?

我没有在b.py中导入a.py。我只是使用os.system()来调用它。

即使导入其他脚本,如何实现同样的目标?

2 个答案:

答案 0 :(得分:1)

os.system()返回(编码的)进程退出值。 0意味着成功。

我宁愿推荐subprocess模块,因为它更强大。看看LIKE %text%

祝你好运。

答案 1 :(得分:1)

如果导入可能引发您不会处理的异常的模块b,请让异常通过不处理来暂停执行,或者自己处理它并exit

如果您选择调用os.system,请检查返回的错误代码;如果Python没有正常退出(即引发异常),那么它将是一个非0值。您可以测试并采取相应的行动:

if os.system('python b.py'):
    # exit from script a.by