我正在用Python编写一个程序,需要比较几个目录的atime、mtime和ctime。为此,我使用os.stat("my_directory/")
。我得到的结果是一个包含这些时间的字符串。对于示例目录,我有:
st_atime=1418911410L
st_mtime=1418911410L
st_ctime=1404656050L
我的问题是我和这些数字有些混淆。我想知道这些数字是否可以转换成实际时间?或者,如果一个数字(比如说ctime)小于另一个数字(比如atime),这是否意味着ctime早于atime或晚于atime?我已经搜索了很多网站来学习这个,但是我的尝试没有成功。有人能帮我吗?提前谢谢。
ctime-上次更改文件索引节点的时间(例如,权限更改、文件重命名等)
mtime-上次更改文件内容的时间
上次访问文件的时间。
这些数字只是unix时间戳-有符号的32位整数,表示自1970年1月1日以来的秒数,也就是纪元。
是的,更小的数字=更早的时间。
通过使用stat模块解释
stat()
结果并从epoch转换为datetime,您可以从中获得一些有用的信息:这将打印出一个日期时间对象,显示上次访问当前目录的时间:
引用^{} function documentation :
对于Linux,系统文档是^{} manpage :
其中} 中定义:
timespec
在^{其中纪元是UNIX Epoch。该值越高,自该纪元(1970年1月1日,UTC午夜)以来经过的时间就越多。
Python^{} module 以同样的方式及时处理,并且^{} module 具有类方法,这些方法还将从这样的值中为您提供一个
datetime
对象:如上所示,这三个字段分别表示访问时间、修改时间和状态更改时间。
相关问题 更多 >
编程相关推荐