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
Was this helpful?