Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获取代码在特定if-elif构造中花费的时间_Python_Python 3.x_If Statement_Time - Fatal编程技术网

Python 如何获取代码在特定if-elif构造中花费的时间

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:

我提供了一个虹膜定位项目的代码。所以这里我想得到一个人花在看一个特定方向上的时间。此外,我还想得到代码在特定if-elif构造中花费的全部时间

我尝试过使用timeit模块,但是我无法得到代码进入if部分的时间和离开while循环的时间

                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.总的来说,我已经在我的代码中暗示了哦,现在我明白了。您不必使用列表,只需计算每个部分的时间并将其添加到总时间中即可。我已经用样本更新了我的答案