Source code for pymodule.timing
"""
Show time elapsed.
https://stackoverflow.com/a/12344609/8877268
"""
import atexit
from time import time, strftime, localtime
from datetime import timedelta
def _secondsToStr(elapsed=None):
if elapsed is None:
return strftime("%Y-%m-%d %H:%M:%S", localtime())
else:
return str(timedelta(seconds=elapsed))
def _log(s, elapsed=None):
line = "="*40
print(line)
print(_secondsToStr(), '-', s)
if elapsed:
print("Elapsed time:", elapsed)
print(line)
print("")
return
def _endlog(start):
end = time()
elapsed = end - start
_log("End Program", _secondsToStr(elapsed))
return
[docs]def timing():
"""
Show time elapsed.
"""
start = time()
atexit.register(_endlog, start)
_log("Start Program")
return