Как посчитать количество объектов (файлов и папок) в папке?
Имееется ввиду использование класса Path(), но не обязательно.
Вот такое решение мне кажется громоздким. Нет ли чего-то изящнее?
Задача решалась 100500 раз, видно плохо гуглил.
from pathlib import Path
folder_name = input("folder name:")
folder = Path(folder_name)
if folder.is_dir():
folder_count = len([1 for file in folder.iterdir()])
print(f"В папке {folder_name} есть {folder_count} объектов")
Ответы (2 шт):
Автор решения: MaxU
→ Ссылка
количество файлов и поддиректорий в директории:
if not folder.is_dir():
raise ValueError(f"[{folder}] не существует или не является директорией")
print(f"В папке {folder_name} есть {sum(1 for x in folder.iterdir())} объектов")
или более понятный вариант:
print(f"В папке {folder_name} есть {len(list(folder.iterdir()))} объектов")
если нужно рекурсивно посчитать число объектов во всех поддиректориях:
len(list(folder.rglob("*")))