Python 如何确定开始前执行时间的长短?
我们可以测量脚本执行所需的时间。关于这个问题: 但是我想要的是在代码执行之前找出代码执行所需的时间 示例1: 执行脚本时,首先要打印的内容如下:Python 如何确定开始前执行时间的长短?,python,python-3.x,python-2.7,time,Python,Python 3.x,Python 2.7,Time,我们可以测量脚本执行所需的时间。关于这个问题: 但是我想要的是在代码执行之前找出代码执行所需的时间 示例1: 执行脚本时,首先要打印的内容如下: 执行此功能需要1分40秒 示例2: 到目前为止执行量的百分比。例如,一分钟后的百分比是: 60% /代码>它不断增加直到它命中 100% .< /p> 请考虑当你执行一个函数时,时间取决于你的算法以及你的机器速度。为了在不执行代码的情况下计算时间,您可能必须给出一些初始参数,或者使用机器学习代码,通过遍历代码来计算执行时间,但这似乎非常困难 顺便说一
执行此功能需要1分40秒
示例2:
到目前为止执行量的百分比。例如,一分钟后的百分比是:<代码> 60% /代码>它不断增加直到它命中<代码> 100% <代码> .< /p> 请考虑当你执行一个函数时,时间取决于你的算法以及你的机器速度。为了在不执行代码的情况下计算时间,您可能必须给出一些初始参数,或者使用机器学习代码,通过遍历代码来计算执行时间,但这似乎非常困难 顺便说一句,请尝试使用import timeit 只需节省代码执行前后的时间并减去它们!但这种方法并不精确,因为可能会有一个后台进程暂时运行,这会中断代码的执行,并且您将在小代码段的运行时间中得到显著的变化 timeit运行您的代码片段数百万次(默认值为1000000),以便获得统计上最相关的代码执行时间度量 #导入所需的模块 导入时间信息
# code snippet to be executed only once
mysetup = "from math import sqrt"
# code snippet whose execution time is to be measured
mycode = '''
def example():
mylist = []
for x in range(100):
mylist.append(sqrt(x))
'''
# timeit statement
print timeit.timeit(setup = mysetup,
stmt = mycode,
number = 10000)
这个问题的一个完全通用的解决方案将会解决,这在数学上已经被证明是不可能的
对于更特殊的情况,可以这样做。对于某些算法,如果您知道必须完成多少工作,并且可以定期检查完成了多少工作,那么您可以更新百分比。您也可以根据百分比的进展速度来估计剩余时间,但这通常是不准确的。非常感谢。我认为这就是在Linux中安装软件包时的做法,然后它会为每个
5%
添加=
,直到它完成整行,类似这样:======================
。