2016-11-22 51 views
0

我有兩個python腳本調用a.pyb.py如何退出嵌套的Python腳本?

從裏面a.py,我給命令

os.system('python b.py') 

如果b.py發現了一些異常,我想這兩個a.pyb.py的完整執行被叫停。有沒有辦法做到這一點?

我沒有導入b.pya.py。我只是使用os.system()來調用它。

即使我導入另一個腳本,該如何實現?

回答

1

os.system()返回(編碼的)過程出口值。 0表示成功。

我寧願推薦subprocess模塊,因爲它更強大。看看subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)

祝你好運。

1

如果您導入可能會引發您無法處理的異常的模塊b,請讓異常通過不處理它來暫停執行,或者自行處理它並自行處理。

如果您選擇致電os.system檢查返回的錯誤代碼;如果Python不能正常退出(即引發異常),它將是非0值。你可以測試並採取相應的行動:

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