Unix系统中python-getmtime()和getctime()之间的区别

发布于 2021-01-29 17:45:16

有人可以指出UNIX系统os.path.getmtime(path)os.path.getctime(path)UNIX系统之间的区别是什么。根据python文档中的定义:

os.path.getmtime(path)

返回路径的最后修改时间。返回值是一个数字,给出自纪元以来的秒数(请参见时间模块)。如果文件不存在或不可访问,请引发os.error。

os.path.getctime(path)

返回系统的ctime,在某些系统(如Unix)上,它是最后一次更改的时间,而在其他系统(如Windows)上,它是路径的创建时间。返回值是一个数字,给出自纪元以来的秒数(请参见时间模块)。如果文件不存在或不可访问,请引发os.error。

这基本上表示在Unix /系统中使用时是相同的东西吗?

#!/usr/bin/python
import os
print os.path.getmtime('File')
print os.path.getctime('FIle')

这两幅画都给我带来了相同的价值。

我基本上是在寻找文件的最后创建日期,而不是最后修改日期。有没有办法在Unix中达到相同的目的?

关注者
0
被浏览
154
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    mtime是指上次更改文件内容的时间。可以在UNIX系统上以各种方式更改此设置。通常,从备份还原文件时,会更改mtime来指示在进行备份之前上次更改内容的时间。

    ctime指示上一次更改索引节点的时间。这无法更改。在上面带有备份的示例中,ctime仍将反映文件还原的时间。此外,更改文件权限之类的内容时,将更新ctime。

    不幸的是,通常无法找到文件创建的原始日期。这是基础文件系统的限制。我相信ext4文件系统已经为inode添加了创建日期,Apple的HFS也支持它,但是我不确定如何在Python中检索它。(Cstat函数和相应的stat命令应向您显示有关支持它的文件系统的信息。)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看