循环内有超时的for循环?

我试图找到一种方法来进行for循环,如果for循环的迭代次数超过超时时间,则它会中断并转到下一次迭代。


例子 :


timeout = 60

for i in mylist:

   i += 1

   if time > timeout:

       break


一只萌萌小番薯
浏览 261回答 2
2回答

当年话下

我认为您可以使用时间模块,如下所示:import time#get the time at the start of the programx = time.localtime(time.time())start_time = time.strftime('%S', x)#the looptimeout = 5for i in range(10000000):   i += 1   y = time.localtime(time.time())   now_time = time.strftime('%S', y)   run_time = int(now_time) - int(start_time)   print(run_time) #to see the run_time   if run_time > timeout:       break

一只名叫tom的猫

假设单次迭代不需要那么多,只需使用time模块和 while 循环,如下所示:mylist = [1,2,3]import timetimeout = 60time_start = time.time()i = 0while i < len(mylist) and time.time() - time_start < timeout:&nbsp; &nbsp; # do your stuff&nbsp; &nbsp; i += 1if i == len(mylist):&nbsp; &nbsp; # this code runs if the iteration has completed, pass does nothing&nbsp; &nbsp; passelse:&nbsp; &nbsp; # and this code runs if there was a timeout&nbsp; &nbsp; pass
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python