time.clock()在Python几次?

问题描述 投票:2回答:4

在Windows 7上使用Python 2.7.5,我有一个问题。

我写的应该计算它需要计算几个数学算法时的程序。我用start=time.clock()elapsed=time.clock()-start。这样的作品,但是当我尝试做start=time.clock()第二次它不工作。我得到这个消息:

start=time.time()
AttributeError: 'float' object has no attribute 'time'

我显然不能用qazxsw船尾好几次,但我可以用什么代替?

python time clock
4个回答
3
投票

这似乎是你的代码的某个地方有time.clock()从指向正确的模块,一个浮动对象替换命名为“时间”。


2
投票

你不应该使用time = <some calculated value>

在Unix,返回当前处理器时间作为一个浮点数以秒表示。精度,并实际上的“处理器时间”的含义很定义,取决于相同的名称的C函数的,但在任何情况下,这是使用于基准Python或定时算法的功能。

在Windows中,此函数返回自第一次调用这个函数经过挂钟秒,作为一个浮点数,基于Win32函数QueryPerformanceCounter的()。分辨率通常比一微秒更好。

而是使用time.clock()

返回以秒为单位的时间,因为历元作为一个浮点数。需要注意的是,即使时间为浮点数总是返回,并不是所有的系统提供时间小于1秒更好的精度。虽然这个功能通常会返回非递减值,它可以通过在系统时钟已经回来了两个电话之间比上一次调用返回一个较低的值。

把差转换成更容易条款:当你第一次叫time.time()它将启动一个定时器,以time.clock()每个后续调用将产生时间以来的第一个电话。而使用time.clock()将永远给你,因为时代的时间。

为了澄清,time.time()是一个相对的时间测量方法,相对于在首次启动使用time.clock()方法的时序,使用time.clock()你因为每次时期获得秒的时候,而。

在这两种方法,你可以很容易地推断出它们之间的区别,但使用time.time()无法预见的后果时,需要更复杂的时间测量,如多线程,或有相互交流不同的功能 - 如果它们都相对定时自己给自己,这是很难的事情保持不变。


0
投票

你可以到

time.clock()

0
投票

我有同样的错误。

我发现,我命名为一个变量“时间”,这是相同的名称,时间模块。

所以回答你,你的可变时间有没有属性的时间,因为你的变量将覆盖模块的时间。

检查你的变量名或更改模块的名字!

© www.soinside.com 2019 - 2024. All rights reserved.