我有两个python脚本调用a.py
和b.py
。
从a.py
内部,我发出命令
os.system('python b.py')
如果在b.py
中发现了一些异常,我希望暂停a.py
和b.py
的完整执行。有没有办法做到这一点?
我没有在b.py
中导入a.py
。我只是使用os.system()
来调用它。
即使导入其他脚本,如何实现同样的目标?
答案 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