在一定时间后结束python功能



例如,我有此功能:

some_global_varible = ""
def bob(some_argument, some_more):
    import time
    for x in range(10):
        print("Working")
        time.sleep(1)
    return "I finished and this is my result"

如何在一定时间内运行此功能,如果它在时间结束时未完成。但是,如果它完成了返回的输出(如果是一个,因为也许没有,它简直就是结束)。

此外,这也不会在UNIX中运行,因为我看到了一些在Windows中不起作用的UNIX的示例。另外,如果您可以更改函数内部的全局变量表单,那将是完美的,但这是额外的。

首先是其余的,如果可能的话(如果不可能在没有退货的情况下检测结束,我就可以将返回包括在内。就像:返回"这只是用于结束")

编辑:"鲍勃"效果是一个需要10秒的函数的示例,但是计划是在其他功能上使用它,可能需要花费不确定的时间。而且该功能不能简单地添加一些东西以在某个时候停止它。

一个更好的例子可能是" pep",因为它本身不会结束。

def pep():
    import time
    while True:
        print("Working")
        time.sleep(1)

您可以使用time.time()在开始循环之前,然后在每个循环结束时获得当前时间

太长了。
def bob(some_argument, some_more):
    import time
    start = time.time()
    for x in range(10):
        print("Working")
        time.sleep(1)
        if time.time() - start > 5:
            return "I took too long"
    return "I finished and this is my result"

显然在您要使用的时间中替换5个,但是此代码为我提供了此输出:

Working
Working
Working
Working
Working
'I took too long'

您可以使用突破;

例如,如果循环计数器的值符合以下条件:

if condition:
   break;

这肯定会结束循环。

相关内容

  • 没有找到相关文章

最新更新