> For the complete documentation index, see [llms.txt](https://treasuremaster.gitbook.io/python-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://treasuremaster.gitbook.io/python-docs/moduli-standartnoi-biblioteki-1/obshie-sluzhby-operacionnoi-sistemy/os/faily-i-direktorii/os.rename.md).

# 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 ()](/python-docs/moduli-standartnoi-biblioteki-1/obshie-sluzhby-operacionnoi-sistemy/os/faily-i-direktorii/os.replace.md).

Вызывает событие аудита **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***.
