@m00nkey

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

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

можно как-то такое сделать?
os.listdir() файлы тоже добавляет в список
  • Вопрос задан
  • 3627 просмотров
Пригласить эксперта
Ответы на вопрос 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:
   ...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект