Python 如何在10秒后结束循环中的循环?

Python 如何在10秒后结束循环中的循环?,python,opencv,datetime,Python,Opencv,Datetime,我正在使用opencv,而不是在视频中使用典型的while循环,我正在运行一个额外的while循环,用于其他功能。我的目标是在激活后的第二个while循环结束,并在10秒后打破所有循环 到目前为止,我使用datetime创建了一个time\u start变量,然后尝试使用time\u delta变量查找时间的变化,while循环在达到值10后应该会断开。我只有几周的python经验,所以我可能犯了一个简单的错误。以下是我试图执行的代码(您可以忽略“MAIN FUNCTIONS”代码): star

我正在使用opencv,而不是在视频中使用典型的while循环,我正在运行一个额外的while循环,用于其他功能。我的目标是在激活后的第二个while循环结束,并在10秒后打破所有循环

到目前为止,我使用
datetime
创建了一个
time\u start
变量,然后尝试使用
time\u delta
变量查找时间的变化,while循环在达到值10后应该会断开。我只有几周的python经验,所以我可能犯了一个简单的错误。以下是我试图执行的代码(您可以忽略“MAIN FUNCTIONS”代码):

start\u time=datetime.datetime.now()
结束时间=0
而end_time
导入时间
endTime_s=time.time()+10.0
而time.time()
运行while循环10秒的另一种方法是使用
datetime
模块

import datetime

start_time = datetime.datetime.now()
#end time is 10 sec after the current time
end_time = start_time + datetime.timedelta(seconds=10)

#Run the loop till current time exceeds end time
while end_time > datetime.datetime.now():
    #do stuff

这里的一个优点是,您还可以使用函数以分钟和小时为单位定义时间间隔

尝试将while循环中的
time\u delta.total\u seconds()添加为
while time\u delta.total\u seconds()<10:
不幸的是,我得到了一个错误
'int'对象没有属性“total_seconds”
您可以使用
datetime
模块来实现while循环,请检查下面我的答案!我试图实现您的代码(在主帖子中编辑),但我可能用错了,我希望计时器在
if point1和point2:
语句完成后启动,然后结束while循环。然后将while循环置于if条件内!
import time
endTime_s = time.time() + 10.0
while time.time() < endTime_s:
    doStuff()
import datetime

start_time = datetime.datetime.now()
#end time is 10 sec after the current time
end_time = start_time + datetime.timedelta(seconds=10)

#Run the loop till current time exceeds end time
while end_time > datetime.datetime.now():
    #do stuff