循环中的python相对时钟

时间:2015-09-28 13:06:09

标签: python clock

让我们假设我们有一个用Python编写的日志记录功能(可能不相关,但仍然是),日志记录还记录了日志中的时间。

然后在永不停止的while循环中经过一段时间后,有人会更改系统时钟(由sysadmin的系统本身)。当然,所有的时间都在日志中搞定(特别是如果结果是时钟已被发回一段时间)。

有什么方法可以通过在whileloop中拥有一个自己的相对时钟来阻止这种情况吗?我想在循环之前注意时间,然后测量循环中的迭代时间并手动将其添加到保存的时间,但当然这会在一段时间后漂移得非常糟糕。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

如果您在UNIX系统下工作,os.times()不会受到系统时间更改的影响:

  

<强> os.times()

     

返回表示累积的5元组浮点数   (处理器或其他)时间,以秒为单位。这些项目是:用户时间,   系统时间,孩子的用户时间,孩子的系统时间和已用时间   从过去的固定点开始的实时,按此顺序。看看Unix   手动页面时间(2)或相应的Windows平台API   文档。在Windows上,只填充前两个项目   其他人都是零。

>>> import os
>>> os.times()
(0.01, 0.0, 0.0, 0.0, 17194492.75)
>>> os.times()[4]
17194500.18