我有两个python脚本调用a.py
和b.py
。如何退出嵌套的Python脚本?
从里面a.py
,我给命令
os.system('python b.py')
如果b.py
发现了一些异常,我想这两个a.py
和b.py
的完整执行被叫停。有没有办法做到这一点?
我没有导入b.py
在a.py
。我只是使用os.system()
来调用它。
即使我导入另一个脚本,该如何实现?
我有两个python脚本调用a.py
和b.py
。如何退出嵌套的Python脚本?
从里面a.py
,我给命令
os.system('python b.py')
如果b.py
发现了一些异常,我想这两个a.py
和b.py
的完整执行被叫停。有没有办法做到这一点?
我没有导入b.py
在a.py
。我只是使用os.system()
来调用它。
即使我导入另一个脚本,该如何实现?
os.system()返回(编码的)过程出口值。 0表示成功。
我宁愿推荐subprocess模块,因为它更强大。看看subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
。
祝你好运。
如果您导入可能会引发您无法处理的异常的模块b
,请让异常通过不处理它来暂停执行,或者自行处理它并自行处理。
如果您选择致电os.system
检查返回的错误代码;如果Python不能正常退出(即引发异常),它将是非0
值。你可以测试并采取相应的行动:
if os.system('python b.py'):
# exit from script a.by