如何在Python中确定处理时间?

25 浏览
0 Comments

如何在Python中确定处理时间?

我刚开始学习Python,并且对日期/时间的文档感到困惑。我想计算执行计算所需的时间。\n在Java中,我会这样写:\n

long timeBefore = System.currentTimeMillis();
doStuff();
long timeAfter = System.currentTimeMillis();
elapsed time = timeAfter - timeBefore;

\n我相信在Python中会更简单。有人可以帮忙吗?

0
0 Comments

在Python中,确定处理时间的方法是非常重要的。有时候我们需要知道某些代码的执行时间,以便优化性能或者进行性能测试。然而,Python并没有提供直接获取代码执行时间的功能。因此,我们需要自己实现一个计时器来测量代码的处理时间。

为了解决这个问题,我们可以实现两个函数tic()和tac()。其中,tic()函数用于记录调用时的时间,而tac()函数则打印自tic()函数调用以来的时间差。下面是一个简短的实现示例:

import time
_start_time = time.time()
def tic():
    global _start_time 
    _start_time = time.time()
def tac():
    t_sec = round(time.time() - _start_time)
    (t_min, t_sec) = divmod(t_sec, 60)
    (t_hour, t_min) = divmod(t_min, 60) 
    print('Time passed: {}hour:{}min:{}sec'.format(t_hour, t_min, t_sec))

现在,在你的代码中可以这样使用它:

tic()
do_some_stuff()
tac()

这样就可以输出类似于"Time passed: 0hour:7min:26sec"的结果。

另外,Python也提供了一些相关的库和函数来处理时间,比如datetime库和time库。你可以通过以下链接查看它们的文档:

- Python的datetime库:[https://docs.python.org/2/library/datetime.html](https://docs.python.org/2/library/datetime.html)

- Python的time库:[https://docs.python.org/2/library/time.html](https://docs.python.org/2/library/time.html)

最后,对于这个问题是否应该使用tic/toc而不是tic/tac,可能是因为作者是法国人。

0
0 Comments

问题的出现原因:需要确定Python中的处理时间。

解决方法:

1. 导入timeit模块,并使用timeit的default_timer()方法创建一个简单的可移植定时器。

2. 使用tic变量记录开始时间。

3. 执行需要计时的代码。

4. 使用toc变量记录结束时间。

5. 通过计算toc - tic可以得到经过的时间(以秒为单位)。

6. 该方法返回的是经过的实际时间,而不是CPU时间。

7. 根据timeit文档的描述,它会根据平台选择可用的最精确的实际时间计时器。

8. 在Python 3.3及更高版本中,可以使用time.perf_counter()方法实现相同的功能。

9. 从Python 3.3开始,timeit.default_timer()引用了这个新的计时器。

10. 对于更精确/复杂的性能计算,timeit模块还提供了更复杂的调用方法,可以自动计时小代码片段,并对一组定义的重复运行时间进行平均计算。

0
0 Comments

在Python中确定处理时间的方法是使用time模块中的time.clock()函数。代码示例如下:

import time
tic = time.clock()
toc = time.clock()
processing_time = toc - tic
print(processing_time)

如果你想找到最佳性能的方法,可以使用timeit模块。可以参考官方文档中的说明:timeit

然而,需要注意的是,time.clock()在所有平台上的表现并不相同。特别是在Unix上,它返回的是处理器时间,而不是实际时钟时间。

另外,需要注意的是,time.clock()在Python 3.3版本之后被废弃,并且在Python 3.7版本之后会打印警告信息。现在推荐使用的函数是time.process_time()和time.perf_counter()。可以参考官方文档中的说明:docs.python.org/3/library/time.html#time.clock

如果你在使用Python版本大于等于3.3的情况下,请更新这个答案,将time.clock()替换为.timeit()或.process_time()。

0