Как получить имена подкаталогов каталога исключительно в Python?
-
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')
Не связан с StackOverflow