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