我有兩個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