Разница между shutil.copy2 (s, d) и shutil.move (s, d)

Я прочитал документацию по shutil.move и copy2. Насколько я понимаю, move просто вызывает функцию copy2, затем вызывает функцию удаления, а copy2 вызывает copy, а затем copystat. Все это имеет смысл, но когда я их использую, я нахожу интересную оговорку (я думаю) Если я использую функцию перемещения для файла, все временные метки в файле остаются неизменными, включая дату создания. Если я просто вызываю copy2 для файла, то дата создания становится текущим временем. Поскольку для перемещения используется copy2, почему дата создания также не изменяется? Или документация слишком упрощает это. Было бы неплохо, если бы сценарий, который у меня есть для copy2, также копировал исходную временную метку создания. Я работаю с python всего несколько дней, поэтому просто хочу знать, почему временная метка создания различается между двумя вызовами функций. Я использую Windows 7 64, если это имеет значение. Ты все заранее.

пример:

import os
import shutil
src = os.path.join(os.getcwd(), "copyme.txt")
src2 = os.path.join(os.getcwd(), "moveme.txt")
dst = os.path.join(os.getcwd(), "New Folder")
shutil.copy2(src, dst) #creation date changed
shutil.move(src2, dst) #creation date remains the same as original

Я не могу понять, почему это происходит ...

5
задан user880455 5 August 2011 в 19:47
поделиться