Как получить имена подкаталогов каталога исключительно в Python?

StackOverflow https://stackoverflow.com/questions/1921623

  •  20-09-2019
  •  | 
  •  

Вопрос

Я не хочу использовать команды или любой подобный модуль, который использует оболочку UNIX. Заранее спасибо..

Это было полезно?

Решение

Если вы хотите сделать это рекурсивно, пройдя по дереву, посещая все каталоги, то вы можете использовать OS.Walk, как это:

  for root, directories, files in os.walk("c:\\"):
    doSomething

Если вам нужны только подканальные директора, вы можете либо позвонить в прогулку:

  directories = os.walk("c:\\").next()[1]

Или сделать какой -то фильтр, как этот (прогулка более стильная/портативная):

  filter(lambda x: os.path.isdir("c:\\"+ x), os.listdir("c:\\"))

Другие советы

Использовать os.walk():

import os, os.path

def walk_directories(src):
    for root, dirs, files in os.walk(src):
        for dir in dirs:
            print os.path.join(root, dir)

walk_directories(r'c:\temp')
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top