例如,我有这个功能:
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示例。此外,如果您可以在函数内部更改全局变量形式,那么它将是完美的,但这是一个额外的。
首先是剩下的,如果可能的话(如果不能在没有回报的情况下检测到结束那么无关紧要,我可以包括一个回报。就像:返回"这只是为了结束&#34)
修改 " bob" funtion是一个需要10秒钟的函数的例子,但计划是在其他函数上使用它,这可能需要不确定的时间。并且不能编辑该功能以添加简单的东西以在某个时间秒停止它。
一个更好的例子可能是" pep"因为它不会自行结束。
def pep():
import time
while True:
print("Working")
time.sleep(1)
答案 0 :(得分:0)
你可以使用time.time()来获取开始循环之前的当前时间,然后在每个for循环结束时,检查自那时起已经过了多长时间,如果时间过长那么你可以回来。
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'
答案 1 :(得分:-1)
你可以使用休息;
例如,如果循环计数器的值满足以下条件:
if condition:
break;
这肯定会结束循环。