Проблема, с которой я сталкиваюсь, является частью использования os.stat на пути (например, C:\myfile1.txt). Когда я запускаю os.stat для этого файла и беру 9-й элемент в результирующем списке, я получаю измененное время в виде некоторых чисел (например, 1348167977).
ПРИМЕЧАНИЕ. Я не уверен, как рассчитываются эти числа.
Когда я создаю C:\myfile1.txt, он имеет номер, как в примере выше. Если я создам другой файл C:\myfile2.txt, он получит новое число, представляющее время изменения, которое выше, чем C:\myfile1.txt (как я и ожидал). У меня также есть третий файл C:\myfile3.txt, который создается последним.
Проблема возникает, если я копирую C:\myfile2.txt и перезаписываю C:\myfile3.txt результирующим файлом копии, время изменения, показанное os.stat в новом C:\myfile3.txt, меньше, чем C:\ мой файл1.txt. Почему это происходит? Время модификации для C:\myfile3.txt должно быть самым высоким из всех или, по крайней мере, равным C:\myfile2.txt.
Спасибо за ответы, надеюсь, я объяснил это достаточно хорошо.
РЕДАКТИРОВАТЬ:
Вот пример кода для проверки того, что я описываю. Иногда это работает, иногда цифры все те же, если вы перезапустите его в другое время. Я думаю, что просто не совсем понимаю MTIME, которое я вывожу.
import os
import shutil
import time
myfile1 = open("C:\\myfile1.txt", 'wt')
myfile1.close()
time.sleep(10)
myfile2 = open("C:\\myfile2.txt", 'wt')
myfile2.close()
time.sleep(10)
myfile2 = open("C:\\myfile3.txt", 'wt')
myfile2.close()
shutil.copyfile("C:\\myfile2.txt", "C:\\myfile3.txt")
modified_time_first = (os.stat("C:\\myfile1.txt")[9])
modified_time_second = (os.stat("C:\\myfile2.txt")[9])
modified_time_third = (os.stat("C:\\myfile3.txt")[9])
print "The first files modified time is: "
print modified_time_first
print ""
print "The second files modified time is: "
print modified_time_second
print ""
print "The third files modified time is: "
print modified_time_third
print ""
time.ctime(1348167977). - person Harel   schedule 20.09.2012