我想调用一个func,并在一分钟后阻止它运行,返回一个值.

def foo(txt):
   best_value=-1
   for word in txt:
       if value(word)>best_value:
           best_value=value(world)
    return best_value

我想在一分钟后停止 run 并返回最佳值.

推荐答案

如果要将计时代码与业务逻辑分离,并将开销保持在最低限度,一种简单的方法是在代码中使用全局变量来告诉它何时停止运行:

time_out = False

def foo(txt):
   best_value=-1
   for word in txt:
       if value(word)>best_value:
           best_value=value(world)
       if time_out:
           break
    return best_value

然后使用一个单独的函数绑定到一个Timer来停止它:

def send_stop():
    global time_out
    time_out = True

Timer(60.0, send_stop).start() 
best_value = foo(corpus)

Python相关问答推荐

使用新的类型语法正确注释ParamSecdecorator (3.12)

使用miniconda创建环境的问题

通过Selenium从页面获取所有H2元素

Vectorize多个头寸的止盈/止盈回溯测试pythonpandas

按顺序合并2个词典列表

如何获取TFIDF Transformer中的值?

将输入聚合到统一词典中

为什么NumPy的向量化计算在将向量存储为类属性时较慢?'

名为__main__. py的Python模块在导入时不运行'

CommandeError:模块numba没有属性generated_jit''''

跳过嵌套JSON中的级别并转换为Pandas Rame

循环浏览每个客户记录,以获取他们来自的第一个/最后一个渠道

ModuleNotFoundError:没有模块名为x时try 运行我的代码''

如何使用正则表达式修改toml文件中指定字段中的参数值

不允许 Select 北极滚动?

如何在验证文本列表时使正则表达式无序?

在任何要保留的字段中添加引号的文件,就像在Pandas 中一样

根据过滤后的牛郎星图表中的数据计算新系列

对列中的数字进行迭代,得到n次重复开始的第一个行号

as_index=False groupBy不支持count