Для перемещения файла с помощью модуля shutil используется функция shutil.move().
Пример:
import shutil
source = "путь/к/исходному/файлу.txt"
destination = "путь/к/новой/директории/файл.txt"
try:
    shutil.move(source, destination)
    print(f"Файл успешно перемещен из {source} в {destination}")
except FileNotFoundError:
    print(f"Файл {source} не найден.")
except Exception as e:
    print(f"Произошла ошибка при перемещении файла: {e}")
  Функция перемещает файл из source в destination. Если destination - директория, то файл перемещается в эту директорию с тем же именем. Если destination - имя файла, то файл перемещается и переименовывается.
Для перемещения файла с помощью модуля shutil в Python используется функция shutil.move().
Синтаксис:
shutil.move(source, destination, copy_function=copy2)Параметры:
source: Путь к файлу или директории, которую нужно переместить. Это строка.destination: Путь, куда нужно переместить файл или директорию. Это тоже строка.  Если destination существует и является директорией, то source будет перемещен внутрь этой директории. Если destination существует и является файлом, то операция перемещения может завершиться ошибкой в зависимости от операционной системы.  Если destination не существует, то файл или директория source будет переименована в destination.copy_function (необязательный): Функция, используемая для копирования файла, если source и destination находятся на разных файловых системах. По умолчанию используется shutil.copy2(), которая пытается сохранить метаданные файла.Пример:
import shutil
# Перемещение файла в ту же директорию с переименованием
source_file = 'old_name.txt'
destination_file = 'new_name.txt'
shutil.move(source_file, destination_file)
# Перемещение файла в другую директорию
source_file = 'file_to_move.txt'
destination_directory = '/path/to/destination/directory'
shutil.move(source_file, destination_directory)
# Перемещение директории в другую директорию
source_directory = 'directory_to_move'
destination_directory = '/path/to/destination/directory'
shutil.move(source_directory, destination_directory)
print("Файл/директория успешно перемещены.")
Важные моменты:
shutil.move() пытается переместить файл, используя операцию переименования (аналогично команде mv в Unix) если это возможно. Если source и destination находятся на разных файловых системах, то файл будет скопирован (с использованием copy_function) и затем удален из исходного местоположения.OSError.  Важно обрабатывать возможные исключения.