Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何确定开始前执行时间的长短?_Python_Python 3.x_Python 2.7_Time - Fatal编程技术网

Python 如何确定开始前执行时间的长短?

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:

执行脚本时,首先要打印的内容如下:

执行此功能需要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%
添加
=
,直到它完成整行,类似这样:
======================