Этот вопрос отредактирован с добавлением новой информации ниже:
Я нахожусь на машине с Windows 7, используя Cygwin... и у меня установлены Python 2.6 и 3.1.
Я могу видеть следующее, используя мой короткий скрипт python.. для времени создания, времени изменения, времени доступа и времени создания, используя stat.
Но проблема в том, что... Свойства файла Windows 7 показывают время создания как 12.11.2010 11:57:54.
Мой вопрос: как я могу вернуть время создания Windows в скрипте Python.
Повторяю, я не хочу, чтобы 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
кое-что, связанное с этой публикацией: Получить время создания файла с помощью Python на Mac< /а>
Вот мой полный скрипт:
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
------
stat
(о котором я знаю), вам не повезло. Попробуйтеntpath.getctime
, если он у вас есть. - person Emilio Silva   schedule 05.01.2011