Сообщить об ошибке.

Функция copystat() модуля shutil в Python

Копировать прав доступа, время доступа и модификации файла или каталога

Синтаксис:

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