2017-02-16 66 views
1

我有一個bash文件,我在for循環中多次執行python代碼。我想設置一個超時時間,以便如果python代碼需要超過一定的時間,那麼我們進入下一個迭代。 如何在編譯和運行python文件時將超時添加到我的bash代碼行? 這是當前我行用於運行Python代碼:命令行參數 - 設置運行Python代碼時的超時限制

python hw.py 

我想有這樣的事情:

python hw.py timeout=120 
+0

你想要'bash'或'python'中的邏輯嗎? – Inian

+0

我需要它在bash中,我不能編輯python文件,我每次在for循環中給python文件提供不同的輸入,並且希望它用超時限制來殺死python。 –

回答

1

可以在bash使用timeout命令:

timeout 120 python hw.py 

如果執行的時間超過120秒,將殺死蟒蛇過程。

+0

謝謝這是我需要的。 –

0

假設你想要的參數被解析到Python腳本。

嘗試argparse

if __name__ == '__main__': 
    parser = argparse.ArgumentParser() 
    parser.add_argument('--timeout', help='timeout of script',action = 'store') 
    args = parser.parse_args() 

解析args.timeout到您需要的腳本。

from time import time 
start = time() 
for loop: # the for loop you mentioned 

    if (time() - start) > timeout: 
     break 
+0

感謝您的答案,但我不能編輯python文件。 –