Сообщить об ошибке.

Переименовать или заменить файл (каталог) средствами pathlib

Описанные ниже методы позволяют переименовать/заменить файл или каталог средствами модуля pathlib. Данные методы принадлежат экземпляру, созданному из класса Path().

Так как класс pathlib.Path() наследуется от класса pathlib.PurePath(), следовательно он поддерживает все операции по манипуляции с путями файловой системы.

Смотрите другие методы и свойства, доступные экземпляру класса Path() модуля pathlib.

Содержание:

Path.rename(target):

Метод Path.rename() переименует файл или каталог пути path в указанную цель target. Значение target может быть либо строкой, либо другим объектом пути.

  • С версии Python-3.8 метод Path.rename() вернет новый экземпляр pathlib.Path(), содержащий новый путь.
  • Если target является объектом пути, то его можно использовать для дальнейших манипуляций файлом с новым именем.
  • В Unix, если target существует и является файлом, то он будет автоматически заменен, если у пользователя есть разрешение.
>>> from pathlib import Path
>>> p = Path('foo')
>>> p.open('w').write('some text')
# 9
>>> target = Path('bar')
>>> p.rename(target)
>>> target.open().read()
# 'some text'
>>> target.unlink()

Path.replace(target):

Метод Path.replace() переименует файл или каталог пути path в указанную цель target. Значение target может быть либо строкой, либо другим объектом пути.

  • С версии Python-3.8 метод Path.rename() вернет новый экземпляр pathlib.Path(), содержащий новый путь.
  • Если target является объектом пути, то его можно использовать для дальнейших манипуляций файлом с новым именем.
  • Если target указывает на существующий файл или каталог, то он будет безоговорочно заменен.
>>> p = Path('myfile.txt')
>>> p.write_text('This is short text')
18
>>> p.replace('other-file.ext')

# Поведение метода до версии Python-3.8
>>> p.is_file()
# False
>>> p
# PosixPath('myfile.txt')

>>> p = Path('other-file.ext')
>>> p.read_text()
# 'This is short text'
>>> p.unlink()