为什么更新文件上的mtime会改变纳米看似随机?

时间:2017-08-11 00:31:06

标签: python linux

我在Python中使用os.utime(),并且遇到了好奇心:如果我从文件中读取mtime(上次修改时间),请使用我读过的相同值更新文件,然后重新启动 - 读取值,我得到不同的值,如下所示:

#!/usr/bin/python

import os

FN = "tmp_file.txt"
with open(FN, 'w') as the_file:
    the_file.write("hello\n")

t1 = os.path.getmtime(FN)
os.utime(FN, (t1, t1))
t2 = os.path.getmtime(FN)

print "mtime before: %.10f" % t1
print "mtime after:  %.10f" % t2
print t1 == t2
print t2 - t1

如果我运行它,输出如下:

mtime before: 1502410779.6215209961
mtime after:  1502410779.6215200424
False
-9.53674316406e-07

但它并非完全随机。看起来可能有5种可能的结果,包括完美的平等。

我认为这只是一个直接的“写”原样,所以我不认为浮点运算可以搞砸。这里发生了什么?

0 个答案:

没有答案