这个问题用下面的新信息进行了编辑:
我在使用 Cygwin 的 Windows 7 机器上。我同时安装了 Python 2.6 和 3.1。
我可以使用我的简短 python 脚本查看以下内容.. 使用 stat 创建时间、修改时间、访问时间和创建时间。
但是,问题在于.. Windows 7 文件属性将 Created Time 显示为11/12/2010 11:57:54 AM。
我的问题是:如何在 python 脚本中返回 Windows 创建时间。
我再说一遍,我不想看到fctime
下面脚本中返回的内容。它与 Windows 创建时间不同。
请告知我该怎么做..为什么有区别..请解释一下。
是的..我已经阅读了 os.stat.. 的文档,它说:
st_ctime(取决于平台;Unix 上最近元数据更改的时间,或 Windows 上的创建时间):
$ python /tmp/python/filemodified.py marksix.py
marksix.py
fctime: 11/12/2010 22:58:25
fmtime: 11/12/2010 22:57:01 (windows shows 22:57:01 ok)
fatime: 11/12/2010 22:45:21 (windows shows 22:45:21 ok)
fctimestat: Sat Dec 11 22:58:25 2010 (same as above fctime)
fsize: 1765
与这篇文章相关的一些内容:在 Mac 上使用 Python 获取文件创建时间
这是我的完整脚本:
import sys
import os
import time
for f in sys.argv[1:]:
if os.path.exists(f):
fname = f
fctime = time.strftime("%d/%m/%Y %H:%M:%S",time.localtime(os.path.getctime(fname)))
fmtime = time.strftime("%d/%m/%Y %H:%M:%S",time.localtime(os.path.getmtime(fname)))
fatime = time.strftime("%d/%m/%Y %H:%M:%S",time.localtime(os.path.getatime(fname)))
fsize = os.path.getsize(fname)
#print "size = %0.1f kb" % float(fsize/1000.0)
fctimestat = time.ctime(os.stat(fname).st_ctime)
print fname + '\nfctime: ' + fctime + '\nfmtime: ' + fmtime + '\nfatime: ' + fatime + '\n',
print 'fctimestat: ' + fctimestat + '\n',
print 'fsize:', fsize,
print
附加信息:
现在..我在我的工作环境中..所以我不能使用与以前相同的文件..但无论如何,我用cygwin python(2.6.5)和windows python(2.6.6)测试了..结果是不同的..如下所示。
第一个是 cygwin Python .. 第二个是 Windows Python。而且,Windows Python 匹配文件属性......那么,这种差异是否正常......?为什么 cygwin python 应该获得与 Windows 相同的日期集..?
User@COMP /tmp/pythonscr
$ python file_time.py ../testjpg.gif
../testjpg.gif
fctime: 05/01/2011 10:25:52
fmtime: 05/01/2011 10:25:52
fatime: 01/12/2010 17:30:16
fctimestat: Wed Jan 5 10:25:52 2011
fsize: 1536
------
User@COMP /tmp/pythonscr
$ /cygdrive/c/Python26/python.exe file_time.py ../testjpg.gif
../testjpg.gif
fctime: 01/12/2010 17:30:16
fmtime: 05/01/2011 10:25:52
fatime: 01/12/2010 17:30:16
fctimestat: Wed Dec 01 17:30:16 2010
fsize: 1536
------