例如,我有此功能:
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;
这肯定会结束循环。