ich hätte eine Frage: Wie kann man Files nummereieren, welche in einem bestimmten Verzeichnis liegen?
Konkret: Im Ordner "2012" befinden sich Ordner von 01-12. In letzteren sind nochmals zwei Ordner: "d" und "e".
Wie muss ich meinen Code unten anpassen, dass:
1.) Bei der Nummerierung jeweils nur die Files von "d" betrachtet werden.
2.) Das Ganze geordnet ablaufen soll, d.h. die Reihenfolge der Files und der Ordner beachtet werden soll. (Die Files sind so gespeichert: "2012_01_01.xml", "2012_01_02.xml" usw. im Ordner "01"; "2012_02_01.xml", ... im Ordner "02" usw.)
Ich weiss, dass ich os.path halt einfach "willkürlich" durch die Verzeichnisse geht. Aber eben: Wie ist das "geordnet" möglich?
Danke für jede Hilfe!
Code: Alles auswählen
import os, codecs
d = {}
path = '/home/2012'
list_of_files = dict([ (file, os.sep.join((dir, file)))
for (dir,dirs,files) in sorted(os.walk(path))
for file in files
if file[-4:] == '.xml'])
output = dict([ (item, idx+1)
for idx, item in enumerate(list_of_files) ])
out = codecs.open("./Out.txt", "w", "utf-8")
out.write(str(output))