Come ottengo i nomi delle sottodirectory di una directory puramente in Python?
-
20-09-2019 - |
Domanda
Non voglio usare comandi o un modulo simile che utilizza Unix Shell. Grazie in anticipo..
Soluzione
Se vuoi farlo in modo ricorsivo, scendendo un albero visitando tutte le directory, allora puoi usare OS.Walk in questo modo:
for root, directories, files in os.walk("c:\\"):
doSomething
Se desideri solo le sottodirectory, puoi chiamare Walk una volta:
directories = os.walk("c:\\").next()[1]
Oppure fai una sorta di filtro come questo (Walk è più elegante/portatile):
filter(lambda x: os.path.isdir("c:\\"+ x), os.listdir("c:\\"))
Altri suggerimenti
Uso 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')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow