Domanda

Non voglio usare comandi o un modulo simile che utilizza Unix Shell. Grazie in anticipo..

È stato utile?

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
scroll top