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

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

Копирование файла с сохранением всех метаданных

Синтаксис:

import shutil

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

Параметры:

  • src - str, исходное место/путь копируемого файла ,
  • dst - str, место/путь назначения нового файла,
  • follow_symlinks=True - что делать с символическими ссылками.

Возвращаемое значение:

  • Нет.

Описание:

Функция copy2() модуля shutil работает идентично функции shutil.copy() за исключением того, что shutil.copy2() также пытается сохранить метаданные файла.

Когда аргумент follow_symlinks имеет значение false, а src является символической ссылкой, то функция shutil.copy2() пытается скопировать все метаданные из символической ссылки src во вновь созданную символическую ссылку dst. Однако эта функция доступна не на всех платформах.

На платформах, где некоторые функции модуля недоступны, функция shutil.copy2() сохранит все возможные метаданные. Она никогда не вызывает исключение, если не может сохранить метаданные файла.

Функция shutil.copy2() использует функцию shutil.copystat() для копирования метаданных файла.

Пожалуйста, смотрите shutil.copystat() для получения дополнительной информации о поддержке платформы для изменения метаданных символической ссылки.

Примеры использования:

import os
import shutil
import time

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))

os.mkdir('example')
print('SOURCE:')
show_file_info('copy2.txt')

shutil.copy2('copy2.txt', 'example')

print('DEST:')
show_file_info('example/copy2.txt')

# SOURCE:
#   Mode    : 0o100644
#   Created : Wed Apr 28 19:03:12 2020
#   Accessed: Wed Apr 28 19:03:49 2020
#   Modified: Wed Apr 28 19:03:12 2020
# DEST:
#   Mode    : 0o100644
#   Created : Wed Apr 28 19:03:49 2020
#   Accessed: Wed Apr 28 19:03:49 2020
#   Modified: Wed Apr 28 19:03:12 2020