Для перемещения файла с помощью модуля 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
. Важно обрабатывать возможные исключения.