Python 如何获取代码在特定if-elif构造中花费的时间
我提供了一个虹膜定位项目的代码。所以这里我想得到一个人花在看一个特定方向上的时间。此外,我还想得到代码在特定if-elif构造中花费的全部时间 我尝试过使用timeit模块,但是我无法得到代码进入if部分的时间和离开while循环的时间Python 如何获取代码在特定if-elif构造中花费的时间,python,python-3.x,if-statement,time,Python,Python 3.x,If Statement,Time,我提供了一个虹膜定位项目的代码。所以这里我想得到一个人花在看一个特定方向上的时间。此外,我还想得到代码在特定if-elif构造中花费的全部时间 我尝试过使用timeit模块,但是我无法得到代码进入if部分的时间和离开while循环的时间 thresh = (five_eye[1]-one_eye[1]) print("thresh:",thresh) # if 13<thresh <16:
thresh = (five_eye[1]-one_eye[1])
print("thresh:",thresh)
# if 13<thresh <16:
# print('CENTER')
# cv2.putText(frameClone, 'CENTER',
(90,40),cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0, 0, 255), 2)
# single_eye_state.append(index)
# single_eye_state.append('CENTER')
if 10<thresh<=13:
start = timeit.timeit()
print('Looking Down 1 Feet')
cv2.putText(frameClone,'Looking Down 1 Feet',
(90,40),cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0, 0, 255), 2)
single_eye_state.append(index)
single_eye_state.append('DOWN1')
end = timeit.timeit()
print(end - start)
elif 7<thresh<=10:
start = timeit.timeit()
print("Looking Down 2 Feet")
cv2.putText(frameClone,'Looking Down 2 Feet',
(90,40),cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0, 0, 255), 2)
single_eye_state.append(index)
single_eye_state.append('DOWN2')
end = timeit.timeit()
print(end - start)
thresh=(五只眼睛[1]-一只眼睛[1])
打印(“脱粒:,脱粒)
#如果13只有一个部分将运行,无论是if还是elif。因此,最好只包装if-elif构造,并获得如下所示的时间:
start = timeit.timeit()
if condition:
....
elif:
....
end = timeit.timeit()
print(end-start)
如果需要多个区段的总时间:
total = 0
if condition:
start = timeit.timeit()
....
end = timeit.timeit()
total += end - start
elif:
start = timeit.timeit()
....
end = timeit.timeit()
total += end - start
print(total)
注意:只有一个部分将运行,即,如果在elif上运行。我添加代码只是为了清楚起见。应该可以帮助您确定函数的时间。此外,您没有计算在elif中花费的时间,因此如果您以elif部分结束,您将不会得到任何输出。谢谢Yash。事实上,我想得到每个条件下的时间,刚才我做了一些更改,请再次查看我的代码,我期待您有价值的回复。您编辑的代码在我看来还行,您面临什么问题?现在它只打印if条件下两条语句的执行时间。假设一个人向下看1英尺,持续10秒,那么第一个if条件应该打印10秒,但是现在它每时每刻都打印执行时间,但是我想要总的持续时间。我会给你一些截图。再次感谢亚什的评论。如果它只是在if语句中运行,那是因为只有if条件在运行,这是自然的方式。2.总的来说,我已经在我的代码中暗示了哦,现在我明白了。您不必使用列表,只需计算每个部分的时间并将其添加到总时间中即可。我已经用样本更新了我的答案