Как вы уже знаете, единственными двумя Path
методами удаления файлов / каталогов являются .unlink()
и .rmdir()
, и оба не выполняют то, что вам нужно.
Pathlib - это модуль, который обеспечивает объектно-ориентированные пути для разных ОС, он не предназначен для использования множества разнообразных методов.
Цель этой библиотеки - предоставить простую иерархию классов для
обрабатывать пути файловой системы и общие операции, которые пользователи выполняют над ними.
«Необычные» изменения файловой системы, такие как рекурсивное удаление каталога, хранятся в разных модулях. Если вы хотите рекурсивно удалить каталог, вы должны использовать модуль shutil
. (Работает также с Path
экземплярами!)
import shutil
import pathlib
import os # for checking results
print(os.listdir())
# ["a_directory", "foo.py", ...]
path = pathlib.Path("a_directory")
shutil.rmtree(path)
print(os.listdir())
# ["foo.py", ...]