2017-08-16 129 views
0

啓動腳本我有被執行的Python腳本script_A.py。在此腳本中,我運行另一個腳本,script_B.py的Python:從另一個腳本

的事情是,script_A.py大概需要一分鐘的時間來執行,而script_B.py大概需要20分鐘。

所以我的問題是:

  • 請問我的script_B來,如果我的script_A正常停止(完成任務後)停止?

  • 如果我的script_A因錯誤(或「kill命令」或其他)停止,我的script_B會被停止嗎?

對於這兩個問題:

  • 什麼解決的辦法,使script_B最後直到它結束正常嗎?

編輯:

我在樹莓派的工作。在script_A.py,我有這樣的事情:

for i in range(0,100): 
    SOME CALCULATIONS 
    if i == 20: 
     os.system("sudo python script_B.py") 

環路正在更少的時間比script_B,但我script_B在同一時間執行...

而且,有一種知道script_B何時完成的方法?因爲只有第一個腳本的「打印」纔會顯示!

+1

「這裏面的腳本,我運行另一個腳本,script_B.py。」你能告訴我們你如何做的代碼嗎?有很多方法可以做到這一點,你所選擇的方式影響了答案 –

+0

這取決於如果腳本攔截與否。你能否顯示你的代碼? –

+0

我已更新我的問題。 – AladdinSane

回答

0

你可以這樣做:

import os 
try: 
    os.system('python script_B.py') 
except: 
    pass 
#do script a 

如果你想在同一時間,你將需要使用多線程做這些。

相關問題