在python中获取纳秒

2020年2月2日 / 814次阅读 / Last Modified 2020年2月2日
时间计算

我之前总结过如何在python中获取当前时间的毫秒和微秒,本文介绍一下如何获取当前时间的纳秒。

获取毫秒和微秒,都是使用time.time()函数,让后通过计算得到毫秒值和微秒值。计算纳秒也可以这样,不过从python3.7开始,time模块多了一个直接得到从epoch开始的纳秒数,time.time_ns()函数。

>>> time.time_ns()
1580637675389882900
>>> time.time_ns()
1580637675666898800
>>> time.time_ns()
1580637675939914400
>>> time.time_ns()
1580637676217930300
>>> time.time_ns()
1580637676507946900
>>> time.time_ns()
1580637676778962400
>>> time.time_ns()
1580637677041977400
>>> time.time_ns()
1580637677310992800
>>> time.time_ns()
1580637677565007300
>>> time.time_ns()
1580637677843023200

观察上面的函数返回值,我们发现了一个细节,time.time_ns()函数得到的纳秒数,最后两位总是0!不清楚是什么原因造成这样的效果的?

这样的话,我们用time.time()函数的结果,也能计算出纳秒数,因为纳秒数的最后两位总是0,最后的结果一定是[0-9]00

应该还可以通过调用Linux的获取命令行的工具,来获取精度更高的纳秒数。不过,对于python这样的解释性编程语言来说,纳秒级的精度也许很难用得上。

-- EOF --

本文链接:https://www.pynote.net/archives/1778

留言区

《在python中获取纳秒》有1条留言

电子邮件地址不会被公开。 必填项已用*标注

  • 麦新杰

    timeit模块计算执行时间,常常有多少nsec的结果,这是因为timeit的逻辑是让代码执行N个loop,然后取平均。 [回复]


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top