【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
我在Python中有一个命令行程序,需要花一些时间才能完成。 我想知道完成跑步所需的确切时间。
我已经看过timeit
模块,但它似乎仅适用于一小段代码。 我想安排整个节目的时间。
#1楼
我真的很喜欢Paul McGuire的答案 ,但是我使用Python3。所以对于那些感兴趣的人:这是他的答案的修改,可以在* nix上的Python 3上使用(我想在Windows下,应该使用clock()
代替time()
):
#python3
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()
def endlog():
end = time()
elapsed = end-start
log("End Program", secondsToStr(elapsed))
start = time()
atexit.register(endlog)
log("Start Program")
如果您认为此方法有用,则仍应投票赞成他的答案,而不是像他所做的大部分工作一样;)。
#2楼
在Linux或Unix中:
time python yourprogram.py
在Windows中,请参见以下堆栈溢出问题: 如何在Windows命令行上测量命令的执行时间?
#3楼
Python中最简单的方法:
import time
start_time = time.time()
main()
print("--- %s seconds ---" % (time.time() - start_time))
假设您的程序至少需要十分之一秒才能运行。
印刷品:
--- 0.764891862869 seconds ---
#4楼
rogeriopvl的解决方案效果很好,但是如果您需要更多特定信息,则可以使用Python内置的探查器。 检查此页面:
http://docs.python.org/library/profile.html
探查器会告诉您很多有用的信息,例如每个功能所花费的时间
#5楼
import time
start_time = time.clock()
main()
print time.clock() - start_time, "seconds"
time.clock()
返回处理器时间,这使我们只能计算该进程使用的时间(无论如何在Unix上)。 该文档说“无论如何,这是用于基准化Python或计时算法的功能”
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3144386