Python 3.4+pathlibфункция
.rename()
операции
Переименовывает (перемещает) путь и возвращает новый Path. Поведение при уже существующей цели зависит от ОС — на Windows будет ошибка.
Синтаксис
p.rename(target)
Относительный target отсчитывается от текущей рабочей директории, а не от каталога самого p — p.rename('backup.txt') положит файл туда, откуда запущен скрипт. Затирание существующей цели зависит от ОС: на POSIX перезапишет молча, на Windows кинет FileExistsError, поэтому за одинаковым поведением идите в replace(); через границу файловых систем rename() вообще не работает (OSError) — там нужен shutil.move(). Сам объект p после вызова не меняется, работать дальше надо с возвращённым Path.
Примеры
from pathlib import Path
f = Path('old_path.txt')
f.write_text('data')
new = f.rename('new_path.txt')
new.name # → 'new_path.txt'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности