Python:以超过一秒的分辨率获得文件修改时间

时间:2009-06-03 07:32:36

标签: python windows macos filesystems timestamp

os.path.getmtime()os.stat()似乎只在整秒内返回值。

这是Windows或OSX文件系统上可能的最高分辨率,还是有办法在文件时间内获得更高的分辨率?

4 个答案:

答案 0 :(得分:4)

The documentation for os.stat()有一条说明:

  

的确切含义和解决方案   st_atime,st_mtime和st_ctime   成员取决于经营   系统和文件系统。对于   例如,在Windows系统上使用   FAT或FAT32文件系统,st_mtime   有2秒的分辨率和st_atime   只有1天的分辨率。看你的   操作系统文档   的信息。

例如Windows,用于表示文件时间的FILETIME结构使用100纳秒的分辨率。我希望Python“知道”这个,并给你最好的解决方案。您是否可能在FAT文件系统上使用文件?

答案 1 :(得分:4)

HFS +(OS X使用)的日期分辨率为one second

答案 2 :(得分:1)

the Python os module中所述,它是特定于操作系统的功能的可移植接口。根据您运行的平台,您将获得不同的行为。

具体来说,stat调用返回的修改时间取决于文件所在的文件系统。例如,对于FAT文件系统中的条目,修改时间的最佳分辨率为2秒。其他文件系统将具有不同的分辨率。

答案 3 :(得分:0)

Python 3 os.stat() 包含具有纳秒分辨率的 st_atime_ns、st_ctime_ns、st_mtime_ns 属性,取决于文件系统保存的时间结构。见:https://docs.python.org/3/library/os.html