Python 3.4+pathlibфункция
.is_dir()
проверки
Проверяет, что путь существует и указывает на каталог. Для файла и для несуществующего пути — False.
Синтаксис
p.is_dir()
is_dir() не отличает «пути нет вовсе» от «путь есть, но это файл» — в обоих случаях просто False; если разница важна, спрашивайте exists() отдельно. Проверка идёт по назначению симлинка: ссылка на каталог считается каталогом. И помните про гонку между проверкой и действием — для реальной работы с каталогом надёжнее выполнить операцию и поймать OSError, чем полагаться на предварительный if.
Примеры
from pathlib import Path
Path('/tmp').is_dir() # → True
Path('/etc/hosts').is_dir() # → False (это файл)
Path.cwd().is_dir() # → True
Path('no_such_dir_12345').is_dir() # → False: несуществующий путь тоже даёт False, без исключения
[p.name for p in Path.cwd().iterdir() if p.is_dir()] # → список имён подкаталогов текущего каталога
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности