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

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

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

Синтаксис:

import shutil

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

Параметры:

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

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

  • str имя скопированного dst.

Описание:

Функция copyfile() модуля shutil копирует содержимое файла, без метаданных, с именем src в файл с именем dst наиболее эффективным способом. В случае успеха возвращает имя скопированного dst.

Аргументы src и dst - это похожие на пути объекты или имена путей, заданные в виде строк.

Аргументы dst должен быть полным именем целевого файла. Посмотрите на функцию shutil.copy()]shutil.copy, которая принимает целевой путь к каталогу для создания копии. Если src и dst указывают один и тот же файл, вызывается исключение SameFileError].

Место назначения dst должно быть доступно для записи. В противном случае будет сгенерировано исключение OSError. Если `dst уже существует, он будет заменен. Специальные файлы, такие как символьные или блочные устройства и каналы, не могут быть скопированы с помощью этой функции.

Если follow_symlinks имеет значение false и src является символической ссылкой, то вместо копирования файла, на который указывает src, будет создана новая символическая ссылка.

Вызывает событие аудита shutil.copyfile с аргументами src, dst.

exception shutil.SameFileError:

Это исключение возникает, если источник и назначение в shutil.copyfile() - это один и тот же файл.

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

>>> import shutil, os
>>> from glob import glob
# создадим временную директорию 
>>> os.mkdir('example')
# создадим тестовый файл
>>> open('example/test_file.txt', 'w').close()
# копирование
>>> shutil.copyfile('example/test_file.txt', 'example/test_file.txt.copy')
# 'example/test-file.txt.copy'

# смотрим результат
>>> pprint.pprint(glob('example/*'))
# ['example/test_file.txt.copy', 'example/test_file.txt']

# удаляем
>>> shutil.rmtree('example')