mis*_*ded 21 python python-2.6
有人可以指定unix系统os.path.getmtime(path)
和之间的区别os.path.getctime(path)
.根据python文档中的定义:
os.path.getmtime(path)
返回上次修改路径的时间.返回值是一个数字,给出了自纪元以来的秒数(参见时间模块).如果文件不存在或无法访问,则引发os.error.
os.path.getctime(path)
返回系统的ctime,在某些系统(如Unix)上是最后一次更改的时间,而在其他系统(如Windows)上,是路径的创建时间.返回值是一个数字,给出了自纪元以来的秒数(参见时间模块).如果文件不存在或无法访问,则引发os.error.
这基本上意味着它们在unix/systems中使用时是相同的吗?
#!/usr/bin/python
import os
print os.path.getmtime('File')
print os.path.getctime('FIle')
Run Code Online (Sandbox Code Playgroud)
两个打印都获取相同的值.
我基本上是在寻找文件的最后创建日期,而不是最后修改日期.有没有办法在unix中实现相同的目标?
eaj*_*eaj 20
mtime指的是上次更改文件内容的时间.这可以通过各种方式在unix系统上进行更改.通常,从备份还原文件时,会更改mtime以指示在进行备份之前上次更改内容的时间.
ctime表示最后一次改变inode.这不能改变.在上面的备份示例中,ctime仍将反映文件恢复的时间.此外,更改文件权限等内容时会更新ctime.
不幸的是,通常无法找到文件创建的原始日期.这是底层文件系统的限制.我相信ext4文件系统已经为inode添加了创建日期,Apple的HFS也支持它,但我不确定你如何在Python中检索它.(C stat
函数和相应的stat
命令应该显示有关支持它的文件系统的信息.)
从该名男子页上的统计,这os.path.getmtime()
和os.path.getctime()
在Unix系统都使用:
该字段
st_mtime
是由文件修改改变,例如,通过mknod(2)
,truncate(2)
,utime(2)
和write(2)
(大于零个字节)。此外,st_mtime
通过在该目录中创建或删除文件来更改目录。st_mtime
所有者,组,硬链接数或模式的更改不会更改该字段。
...
st_ctime
通过写入或设置索引节点信息(即所有者,组,链接数,模式等)来更改该字段。
所以不,这些不一样。
归档时间: |
|
查看次数: |
27042 次 |
最近记录: |