我想知道为什么python 2.7
在运行gettimeofday()
时使用time.time()
,但在python 3.4
中却没有?{/ p>
运行strace时可能正在查询/ etc / localtime
答案 0 :(得分:3)
当您的系统在编译时检测到支持此 时,Python 3将使用gettimeofday()
。但是,在POSIX系统上,如果clock_gettime(CLOCK_REALTIME)
不可用,它将仅使用它;根据{{3}},后者是首选,因为gettimeofday()
被认为是过时的。
在运行时,您可以使用POSIX 2008 standard查询系统在编译时可以支持的Python,它会返回namedtuple
个implementation
字段的实例:
实现:用于获取时钟值的基础C函数的名称
在我的OSX 10.11系统上,'time'
时钟生成gettimeofday()
:
>>> time.get_clock_info('time').implementation
'gettimeofday()'
您可以阅读time.get_clock_info()
function以了解可能会使用哪些实施方案;以Windows GetSystemTimeAsFileTime()
为例。