2017-02-16 11 views
1

forループで複数回Pythonコードを実行するbashファイルがあります。タイムアウトを設定して、Pythonコードが一定以上の時間がかかる場合は、次の繰り返しに進むようにします。 Pythonファイルをコンパイルして実行するときに、どのようにタイムアウトを私のbashコード行に追加できますか?私はこのような何かがしたいコマンドライン引数 - Pythonコード実行時のタイムアウト制限を設定する

python hw.py 

: これは私がPythonのコードを実行するために使用する現在の行である

python hw.py timeout=120 
+0

論理を 'bash'または' python'に入れたいですか? – Inian

+0

私はbashでそれを必要とし、私はpythonファイルを編集することができません。私は、forループで毎回pythonファイルに異なる入力を与えています。 –

答えて

1

あなたはbashtimeoutコマンドを使用することができます。それは、よりその120秒間実行された場合のpythonのプロセスを強制終了します

timeout 120 python hw.py 

を。

+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ファイルを編集することはできません。 –

関連する問題