命令行参数 - 运行Python代码时设置超时限制

时间:2017-02-16 09:14:30

标签: python bash command timeout arguments

我有一个bash文件,我在for循环中多次执行python代码。我想设置一个超时,以便如果python代码花费超过一定时间,那么我们将进入下一次迭代。 在编译和运行python文件时,如何在我的bash代码行中添加超时? 这是我用于运行python代码的当前行:

python hw.py

我希望有这样的东西:

python hw.py timeout=120

2 个答案:

答案 0 :(得分:1)

您可以在timeout中使用bash命令:

timeout 120 python hw.py

如果执行的时间超过120秒,那将会终止python进程。

答案 1 :(得分: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