编程语言
首页 > 编程语言> > unix系统中python-getmtime()和getctime()的区别

unix系统中python-getmtime()和getctime()的区别

作者:互联网

有人可以指定unix系统中os.path.getmtime(path)和os.path.getctime(path)之间的区别.根据python文档中的定义:

os.path.getmtime(路径)

Return the time of last modification of path. The return value is a
number giving the number of seconds since the epoch (see the time
module). Raise os.error if the file does not exist or is inaccessible.

os.path.getctime(路径)

Return the system’s ctime which, on some systems (like Unix) is the
time of the last change, and, on others (like Windows), is the
creation time for path. The return value is a number giving the number
of seconds since the epoch (see the time module). Raise os.error if
the file does not exist or is inaccessible.

这基本上意味着它们在unix / systems中使用时是相同的吗?

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

两个打印都获取相同的值.

我基本上是在寻找文件的最后创建日期,而不是最后修改日期.有没有办法在unix中实现相同的目标?

解决方法:

mtime指的是上次更改文件内容的时间.这可以通过各种方式在unix系统上进行更改.通常,从备份还原文件时,会更改mtime以指示在进行备份之前上次更改内容的时间.

ctime表示最后一次改变inode.这不能改变.在上面的备份示例中,ctime仍将反映文件恢复的时间.此外,更改文件权限等内容时会更新ctime.

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

标签:python-2-6,python
来源: https://codeday.me/bug/20191001/1838597.html