Python:以比秒更高的分辨率获取文件修改时间
os.path.getmtime() 和 os.stat() 似乎只返回整秒的值。
这是 Windows 或 OSX 文件系统上可能的最大分辨率,还是有办法在文件时间上获得更高的分辨率?
os.path.getmtime()
and os.stat()
seem to return values in whole seconds only.
Is this the greatest resolution possible on either a Windows or OSX file system, or is there a way of getting greater resolution on file times?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
HFS+(OS X 使用)的日期分辨率为一秒。
HFS+ (used by OS X) has a date resolution of one second.
os.stat() 的文档有一条注释:
例如,在 Windows 上,使用 FILETIME 结构使用 100 纳秒分辨率来表示文件时间。 我希望 Python 能够“知道”这一点,并为您提供最佳的解决方案。 您是否有可能使用 FAT 文件系统上的文件?
The documentation for os.stat() has a note that says:
On for instance Windows, the FILETIME structure used to represent file times uses a 100-nanosecond resolution. I would expect Python to "know" this, and give you the best possible resolution. Is it possible that you're using files on a FAT filesystem?
正如 Python
os
模块中所述,它是一个可移植接口特定于操作系统的功能。 根据您运行的平台,您会得到不同的行为。具体来说,
stat
调用返回的修改时间取决于文件所在的文件系统。 例如,对于 FAT 文件系统中的条目,修改时间的最佳分辨率是 2 秒。 其他文件系统将具有不同的分辨率。As documented in the Python
os
module, it is a portable interface to OS-specific functionality. Depending on what platform you're running on, you will get different behaviour.Specifically, the modification time returned by
stat
calls is dependent on the filesystem where the files reside. For example, for entries in a FAT filesystem, the finest resolution for modification time is 2 seconds. Other filesystems will have different resolutions.Python 3 os.stat() 包含具有纳秒分辨率的 st_atime_ns、st_ctime_ns、st_mtime_ns 属性,取决于文件系统保存的时间结构。 请参阅: https://docs.python.org/3/library/os.html< /a>
Python 3 os.stat() contains st_atime_ns, st_ctime_ns, st_mtime_ns properties with nano seconds resolution, depends on the time-structure saved by the file system. see: https://docs.python.org/3/library/os.html