如何获取 Python 程序的执行时间?
2022-09-05 00:54:12
我在Python中有一个命令行程序,需要一段时间才能完成。我想知道完成跑步的确切时间。
我已经看过这个模块,但它似乎只适用于一小段代码。我想对整个程序进行计时。timeit
我在Python中有一个命令行程序,需要一段时间才能完成。我想知道完成跑步的确切时间。
我已经看过这个模块,但它似乎只适用于一小段代码。我想对整个程序进行计时。timeit
Python中最简单的方法:
import time
start_time = time.time()
main()
print("--- %s seconds ---" % (time.time() - start_time))
这假设您的程序至少需要十分之一秒才能运行。
指纹:
--- 0.764891862869 seconds ---
我把这个模块放到我自己的目录中,然后插入到我的模块顶部:timing.py
site-packages
import timing
import atexit
from time import clock
def secondsToStr(t):
return "%d:%02d:%02d.%03d" % \
reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
[(t*1000,),1000,60,60])
line = "="*40
def log(s, elapsed=None):
print line
print secondsToStr(clock()), '-', s
if elapsed:
print "Elapsed time:", elapsed
print line
print
def endlog():
end = clock()
elapsed = end-start
log("End Program", secondsToStr(elapsed))
def now():
return secondsToStr(clock())
start = clock()
atexit.register(endlog)
log("Start Program")
如果我想展示的节目中有重要阶段,我也可以从我的程序中调用。但仅包含将打印开始和结束时间,以及总体运行时间。(原谅我晦涩难懂的函数,它只是将浮点数秒数格式化为hh:mm:ss.sss形式。timing.log
import timing
secondsToStr