È possibile utilizzare os.walk()
# !/usr/bin/python
import os
directory_list = list()
for root, dirs, files in os.walk("/path/to/your/dir", topdown=False):
for name in dirs:
directory_list.append(os.path.join(root, name))
print directory_list
EDIT
Se si desidera solo il primo livello e non in realtà "passeggiata" attraverso le sottodirectory, è ancora meno codice:
import os
root, dirs, files = os.walk("/path/to/your/dir").next()
print dirs
Questo non è esattamente ciò per cui è stato creato os.walk
. Se davvero si vuole un solo livello di sottodirectory, è anche possibile utilizzare os.listdir()
come Yannik Ammann suggerito:
root='/path/to/my/dir'
dirlist = [ item for item in os.listdir(root) if os.path.isdir(os.path.join(root, item)) ]
print dirlist
fonte
2015-03-23 09:05:23
grazie. Ma questo codice elenca solo i nomi, tuttavia non posso salvarli in un array o in un elenco? – HightronicDesign
Certo che puoi ... Ho modificato la mia risposta, quindi aggiunge le voci a una lista. –
ahh caratteristica davvero interessante, c'è ancora un problema, sto sempre tutto l'albero completo di tutte le sottodirectory nel percorso, ho solo bisogno della prima struttura: C: \ MyPath e in questa cartella ho folder1, folder2, folder3 .... e ho solo bisogno dei nomi di folder1, folder2 etc e non delle sottocartelle della cartella1 ..... – HightronicDesign