В тесте, который я только что попробовал, я вижу следующее поведение:
test.txt -> Created: Tuesday, January 24, 2012 2:52 PM
-> Modified: Tuesday, January 24, 2012 2:52 PM
>>> from shutil import *
>>> copy('test.txt','test1.txt')
Без предварительной версии test1.txt в каталоге я получаю:
test1.txt -> Created: Today 8:54 AM
-> Modified: Today 8:54 AM
Затем я удаляю test1.txt и запускаю:
>>> copy2('test.txt','test1.txt')
Без предварительной версии test1.txt в каталоге я получаю:
test1.txt -> Created: Tuesday, January 24, 2012 2:52 PM
-> Modified: Tuesday, January 24, 2012 2:52 PM
Затем я запускаю:
>>> copy('test.txt','test1.txt')
Итак, с уже существующей версией test1.txt в каталоге я получаю:
test1.txt -> Created: Tuesday, January 24, 2012 2:52 PM
-> Modified: Today 9:00 AM
Затем я запускаю:
>>> copy('test.txt','test1.txt')
Так что с пред- существующая версия test1.txt в каталоге, которую я получаю:
test1.txt -> Created: Tuesday, January 24, 2012 2:52 PM
-> Modified: Today 9:01 AM
Это поведение, которое вы видите, ваша цитата:
Я думал, что это из-заЯ считаю, что функция copy2, которая переносит метаданные, поэтому я попробовал это просто скопировать, но безрезультатно.
Чтобы получить новую дату создания, вам нужно будет активно удалить файл, прежде чем создавать новую версию, используя copy
или copyfile
.В противном случае date created
останется от его первоначального времени создания.copyfile
вызывает то же поведение, что и copy
в отношении date creation
.