Как удалить все содержимое каталога?
есть скрипт который должен удалить все содержимое в указанном каталоге
os.remove("".join(glob.glob("/opt/lammp/htdocs/site/*")))
если в каталоге site только файлы то все работает, если имеется хоть один каталог, то ошибка. Как удалять все содержимое в указанном каталоге?
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Для удаления папки и вложенных в нее файлов и папок есть функция shutil.rmtree
Пример:
import shutil
shutil.rmtree('<путь к папке>')
Если есть необходимость оставить пустую папку, то после shutil.rmtree можно создать папку, но это костыль. Тогда, другой вариант перебор содержимого и использование разных методов для удаления файлов и папок
Удаление содержимого папки без удаления папки (используя shutil и pathlib):
from pathlib import Path
from shutil import rmtree
for path in Path('<путь к папке>').glob('*'):
if path.is_dir():
rmtree(path)
else:
path.unlink()
Вместо метода glob можно использовать iterdir:
for path in Path('<путь к папке>').iterdir():