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