【问题标题】:python timer for stopping a function用于停止函数的python计时器
【发布时间】:2021-01-22 04:44:27
【问题描述】:

我想构建一个在设定时间后停止另一个函数的函数。

例如:

def start():
    global bol_start
    bol_start = True
    timer()
    if bol_start is True:
       "do something until time is over"

def stop():
    global bol_start
    bol_start = False
    sys.exit(0)    

def timer():
    "code for actual timer" ?

我想让用户定义时间 x 工具应该运行 start() 多长时间。 时间结束后,它应该调用 stop()。

【问题讨论】:

  • 这能回答你的问题吗? Timeout on a function call
  • 嗯,无论如何,在这个例子中,你必须在stop() 中说global bol_start,不过我建议展示一个更好的例子

标签: python time timer process subprocess


【解决方案1】:

如果函数中有一个循环,它会连续运行,最简单的机制是每次迭代都测量时间:

import time

def run():
    start = time.time()
    stop_seconds = 10
    while time.time() - start < stop_seconds:
        # do something

如果您没有循环或函数包含耗时的操作,则需要在执行过程中终止该函数,如下所示:Timeout on a function call

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2014-04-17
    • 1970-01-01
    • 2014-12-21
    相关资源
    最近更新 更多