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

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

Рекурсивно переместить файл или каталог

Синтаксис:

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