import shutil shutil.move(src, dst, copy_function=copy2)
src
- str
, исходное место/путь копируемого файла ,dst
- str
, место/путь назначения нового файла,copy_function=copy2
- функция копирования файлов.dst
Функция move()
модуля shutil
рекурсивно перемещает файл или каталог из src
в другое место dst
и возвращает место назначения dst
.
Если местом назначения dst
является существующий каталог, то src
перемещается в этот каталог. Если место назначения уже существует, но не является каталогом, оно может быть перезаписано в зависимости от семантики os.rename()
.
Если место назначения dst
находится в текущей файловой системе, тогда используется os.rename()
. В противном случае src
копируется в dst
с помощью функции, переданной в аргумент copy_function
, а затем удаляется.
В случае символических ссылок, новая символическая ссылка, указывающая на цель src
будет создана в или как dst
и ссылка в src
будет удалена.
Если задана функция copy_function
, это должен быть вызываемый объект, который принимает два аргумента src
и dst
и будет использоваться для копирования src
в dest
, если функция os.rename()
не может быть использована.
Если источником является каталог, вызывается shutil.copytree()
, передавая ему функцию copy_function()
. Функция копирования по умолчанию задана как shutil.copy2()
. Использование функции shutil.copy()
в качестве передаваемой функции copy_function
позволяет выполнить перемещение успешно, когда также невозможно скопировать метаданные за счет отсутствия копирования каких-либо метаданных.
Вызывает событие аудита shutil.move
с аргументами src
, dst
.
import glob import shutil open('example.txt', 'w').close() print('BEFORE: ', glob.glob('example*')) shutil.move('example.txt', 'example.out') print('AFTER : ', glob.glob('example*')) # BEFORE: ['example.txt'] # AFTER : ['example.out']