os.rename ()

os.rename ( src, dst, *, src_dir_fd=None, dst_dir_fd=None )

Переименовывает файл или каталог src в dst. Если dst существует, операция завершится ошибкой с подклассом OSError в ряде случаев:

В Windows, если существует dst, всегда возникает FileExistsError.

В Unix, если src - это файл, а dst - это каталог, или наоборот, соответственно будет возникать IsADirectoryError или NotADirectoryError. Если оба являются каталогами и dst пуст, dst будет автоматически заменен. Если dst - непустой каталог, возникает ошибка OSError. Если оба являются файлами, dst будет заменен автоматически, если у пользователя есть разрешение. Операция может завершиться ошибкой в некоторых версиях Unix, если src и dst находятся в разных файловых системах. В случае успеха переименование будет атомарной операцией (это требование POSIX).

Эта функция может поддерживать указание src_dir_fd и/или dst_dir_fd для предоставления путей относительно дескрипторов каталогов.

Если вы хотите кросс-платформенную перезапись места назначения, используйте replace ().

Вызывает событие аудита os.rename с аргументами src, dst, src_dir_fd, dst_dir_fd.

Новое в версии 3.3: аргументы src_dir_fd и dst_dir_fd.

Изменено в версии 3.6: принимает объект, подобный пути (path-like object ), для src и dst.

Last updated