2016-03-24 14 views
2

In Python möchte ich alle Verzeichnisse in einem Stammverzeichnis auflisten und die Verzeichnisnummer zusammen mit dem Verzeichnis ausdrucken. Ich möchte dann die Dateien in diesem Verzeichnis ausdrucken.Python: os.walk() mit Enumeration

Der Code wäre so etwas wie:

for subdir, dirs, files in os.walk(root_dir): 
    print "Directory " + str(dir_num) + " = " subdir 
    for (file_num, file) in enumrate(files): 
     print "File " + str(file_num) + " = " file 

Aber wie kann ich einen Wert für dir_num erhalten, das heißt, die Anzahl des Verzeichnisses, in dem Root-Verzeichnis? Ich weiß, wie dies zu tun, um die Dateinummer zu drucken, enumerate(), aber ich bin nicht sicher, wie dies zu os.walk() anzuwenden ...

Antwort

4

Sie noch enumerate() verwenden können:

for dirnum, (subdir, dirs, files) in enumerate(os.walk(root_dir)): 

Sie benötigen die Klammern um subdir, dirs, files, weil enumerate() nur zwei Elemente zurückgibt: der Index und das Tupel subdir, dirs, files.

Verwandte Themen