我遇到的问题是在路径上使用 os.stat 的一部分(以 C:\myfile1.txt 为例)。当我在此文件上运行 os.stat 并获取结果列表中的第 9 个元素时,我会以一些数字的形式获得修改时间(例如 1348167977)。
注意:我不确定这些数字是如何计算的。
当我创建 C:\myfile1.txt 它有一些像上面的例子一样的数字。如果我创建另一个文件 C:\myfile2.txt,它会得到一个表示修改时间的新数字,该数字高于 C:\myfile1.txt(这就像我所期望的那样)。我还有最后创建的第三个文件 C:\myfile3.txt。
如果我复制 C:\myfile2.txt 并用生成的复制文件覆盖 C:\myfile3.txt 就会出现问题,新 C:\myfile3.txt 上 os.stat 显示的修改时间小于 C:\我的文件 1.txt。为什么会这样?C:\myfile3.txt 的修改时间应该是最高的或至少等于 C:\myfile2.txt。
感谢您的回答,我希望我解释得足够好。
编辑:
这是一些示例代码来测试我所描述的内容。有时它会起作用,有时如果你在不同的时间重新运行它,数字都是一样的。我想我只是不完全理解我输出的 MTIME。
import os
import shutil
import time
myfile1 = open("C:\\myfile1.txt", 'wt')
myfile1.close()
time.sleep(10)
myfile2 = open("C:\\myfile2.txt", 'wt')
myfile2.close()
time.sleep(10)
myfile2 = open("C:\\myfile3.txt", 'wt')
myfile2.close()
shutil.copyfile("C:\\myfile2.txt", "C:\\myfile3.txt")
modified_time_first = (os.stat("C:\\myfile1.txt")[9])
modified_time_second = (os.stat("C:\\myfile2.txt")[9])
modified_time_third = (os.stat("C:\\myfile3.txt")[9])
print "The first files modified time is: "
print modified_time_first
print ""
print "The second files modified time is: "
print modified_time_second
print ""
print "The third files modified time is: "
print modified_time_third
print ""