Python Glossary English

все Python 3shutilфункция

shutil.copystat()

копирование файлов

Переносит метаданные src на существующий dst: биты прав, время доступа и изменения, флаги. Содержимое не копирует.

Синтаксис

shutil.copystat(src, dst, *, follow_symlinks=True)

Это вторая половина copy2(): copy2 = copyfile + copystat. Владельца и группу copystat не переносит — обычный пользователь и не может их сменить, — а время создания на Windows и «ресурсные вилки» на macOS тоже не копируются, так что полной копии метаданных не бывает. Нужно, когда файл уже записан своим кодом и надо сделать его «как оригинал», например сохранить mtime для make или rsync.

Примеры

import os, shutil
open('a.txt', 'w').close()
open('b.txt', 'w').close()
os.utime('a.txt', (0, 1_000_000))
shutil.copystat('a.txt', 'b.txt')
print(os.stat('b.txt').st_mtime)  # → 1000000.0
print(os.path.getsize('b.txt'))  # → 0 — данные не копируются

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности