Я поместил этот 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")
Я также могу позвонить timing.log
из моей программы, если в программе есть важные этапы, которые я хочу показать. Но только включение import timing
напечатает время начала и окончания, а также общее прошедшее время. (Простите мою неясную функцию secondsToStr
, она просто форматирует число с плавающей точкой в чч: мм: сс.ссс.)
Примечание: версию вышеприведенного кода на Python 3 можно найти здесь или здесь .