使用os.stat()时文件创建时间不匹配

时间:2016-05-02 14:18:05

标签: python macos

我需要使用Python访问文件的创建日期。 正如许多帖子中所建议的那样,我使用os.stat(filename)来获取此类信息。 但是,我得到的结果与我期望的结果不同。 这是一个例子:

import os, time
f = 'untitled.ipynb' # Created 30 March 2016 at 15:45
fileStats = os.stat(f)
time.ctime(fileStats.st_ctime)

结果是:

'Mon May  2 16:04:27 2016'

哪个不正确,如果我使用“获取信息”(在OSX中)查找它,我得到:

"Created: 30 March 2016 at 15:45"

有没有人遇到同样的错误?

你有任何建议的解决方案吗?

1 个答案:

答案 0 :(得分:3)

符合https://docs.python.org/2/library/os.html的文件:
由于您使用的是OSX,因此您需要st_birthtime而不是st_ctime

  

st_ctime - 依赖于平台; Unix上最近元数据更改的时间,或Windows上创建的时间。

     

在其他Unix系统(例如FreeBSD)上,可以使用以下属性(但只有在root尝试使用它们时才可填写):

     

st_birthtime - 文件创建时间