Задать вопрос
@m00nkey

Как получить рекурсиво список каталогов в python3?

Приветствую!
Есть проблема, не могу получить толковый список каталогов....
суть такая:
есть 50 каталогов с кучей подкаталогово, и ~40 тысяч файлов в них
мне нужно рекурсивно получить список каталогов игнорируя файлы.
желательно в списке хранить полный путь каталога "/home/user/...."

можно как-то такое сделать?
os.listdir() файлы тоже добавляет в список
  • Вопрос задан
  • 3630 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
os.walk чем не устраивает? И без рекурсий.
Ответ написан
Комментировать
donkaban
@donkaban
Умею рисовать тени
def is_dir(path):
    return os.path.exists(path) and not os.path.isfile(path)

def dir_list(path):
    dirs = []
    for fname in os.listdir(path):
        full_path = os.path.join(path, fname)
        if  is_dir(full_path):
            dirs.append(full_path)
            dirs += dir_list(full_path)
    return dirs


Ну и логичнее, наверное использовать готовые батарейки :
for path, dirs, files in os.walk(path):
  for f in dirs:
   ...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы