在Python中使用os.stat()时,我可以假定st_ctime始终小于或等于st_mtime吗?如果没有,为什么不呢?
该代码将始终在Linux上运行,但是,如果操作系统之间存在差异,那么请知道。
最佳答案
在某些情况下,此假设可能被证明是无效的(并且在很大程度上取决于OS的实现):
这两个都是可重现的:最好的选择是采用计划针对此行为的各种操作系统。我所能提供的只是猜测。
也是,st_ctime不一定是“创建的时间”,而是“最后状态更改”的时间(source)。
utime
标记要更新的文件的ctime
(source),其类型为“utimbuf”的参数没有ctime
的成员。因此,如果操作系统和文件系统允许,则ctime在技术上有可能超过mtime。 os.stat
文档实际上提到了这一点:虽然Python隐藏了很多C方面的内容,但
os.stat
和friends都是基于相同的基本C系统调用构建的,因此它们的规范是查找更多信息的好地方。