все Python 3shutilфункция
shutil.copy2()
копирование файлов
Копирует файл и старается сохранить все метаданные: права, время доступа и изменения; dst может быть каталогом.
Синтаксис
shutil.copy2(src, dst, *, follow_symlinks=True) -> path
copy2 = copyfile + copystat, и именно её по умолчанию используют copytree() и move(). «Все метаданные» — преувеличение: владелец и группа, время создания на Windows и ACL не сохраняются. Время копируется с точностью файловой системы, поэтому сравнивать st_mtime через == между разными ФС (например, FAT) ненадёжно — допускайте погрешность в пару секунд.
Примеры
import os, shutil
open('a.txt', 'w').close()
os.utime('a.txt', (0, 1_000_000))
c1 = shutil.copy('a.txt', 'b.txt')
c2 = shutil.copy2('a.txt', 'c.txt')
print(os.stat(c1).st_mtime == 1_000_000) # → False
print(os.stat(c2).st_mtime == 1_000_000) # → True
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности