Python 3.4+pathlibфункция
.replace()
операции
Переименовывает путь, безусловно перезаписывая цель, если она существует. В отличие от `.rename()` ведёт себя одинаково на всех платформах.
Синтаксис
p.replace(target)
Перезапись безусловная: если по целевому пути уже лежал файл, он исчезнет молча, без вопросов и без корзины. Через границу файловых систем (другой диск, другая точка монтирования) вызов падает с OSError — туда переносят через shutil.move(). Зато внутри одной файловой системы замена делается одним шагом, поэтому приём «записать во временный файл рядом и заменить им боевой» — стандартный способ не оставить после сбоя обрезанный файл.
Примеры
from pathlib import Path
src = Path('src.txt'); src.write_text('new')
dst = Path('dst.txt'); dst.write_text('old')
src.replace(dst) # → dst перезаписан
dst.read_text() # → 'new'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности