2016-09-14 117 views
1

我有python腳本(installer.py),它運行多個Python和shell程序:如何停止多python腳本運行,如果任何腳本有錯誤

print "Going to run Script1" 

os.system("python script1.py") 

print "Going to run Script2" 

os.system("python script2.py") 

但我發現,即使script1.py不因爲它的錯誤而運行,它只是繼續運行script2.py。

如何停止在script1.py本身的時間腳本(installer.py)..

+5

你爲什麼通過os.system脫殼,而不是直接導入腳本? –

+0

你可能想通過'try'和'except'查看錯誤處理。 – Ian

回答

0

os.system將返回系統調用的退出狀態。只需檢查您的命令是否正確執行。

ret = os.system('python script1.py') 
if ret != 0: 
    # call failed 
    raise Exception("System call failed with error code %d" % ret) 


ret = os.system('python script2.py') 
if ret != 0: 
    # call failed 
    raise Exception("System call failed with error code %d" % ret) 
+0

非常感謝你KernowBunney .. – suresh

+0

@suresh如果它解決了您的原始問題,請選擇一個帶勾號的答案。至於你的問題:這聽起來更爲複雜,應該作爲一個新的堆棧溢出問題提出來(這不僅僅是一個python問題,而且還會影響系統管理的理由)。 – ccbunney