import shutil shutil.copystat(src, dst, *, follow_symlinks=True)
src - исходное место/путь копируемого файла ,dst - место/путь назначения нового файла,follow_symlinks=True - что делать с символическими ссылками.Функция copystat() модуля shutil копирует биты прав доступа, время последнего доступа, время последней модификации и флаги из исходного места src в место назначения dst.
В Linux shutil.copystat() также копирует "расширенные атрибуты", где это возможно.
Содержимое файла, владелец и группа не затрагиваются. Аргументы src и dst - это похожие на пути объекты или имена путей, заданные в виде строк.
Если аргумент follow_symlinks имеет значение False и оба src и dst ссылаются на символические ссылки, то shutil.copystat() будет работать с самими символическими ссылками, а не с файлами, на которые ссылаются символические ссылки, считывая информацию из символической ссылки src и записывая информацию в символическую ссылку dst.
import os import shutil import time open('file.txt', 'w').close() time.sleep(10) def show_file_info(filename): stat_info = os.stat(filename) print(' Mode :', oct(stat_info.st_mode)) print(' Created :', time.ctime(stat_info.st_ctime)) print(' Accessed:', time.ctime(stat_info.st_atime)) print(' Modified:', time.ctime(stat_info.st_mtime)) open('file_to_change.txt', 'w').close() os.chmod('file_to_change.txt', 0o444) print('BEFORE:') show_file_info('file_to_change.txt') shutil.copystat('file.txt', 'file_to_change.txt') print('AFTER:') show_file_info('file_to_change.txt') # BEFORE: # Mode : 0o100444 # Created : Fri Apr 17 15:50:24 2020 # Accessed: Fri Apr 17 14:56:48 2020 # Modified: Fri Apr 17 14:56:48 2020 # AFTER: # Mode : 0o100664 # Created : Fri Apr 17 15:50:36 2020 # Accessed: Fri Apr 17 14:57:59 2020 # Modified: Fri Apr 17 15:49:16 2020