ich versuche gerade ein Programm umzuschreiben, aber ich habe hier ein kleines Verständnisproblem.
Erstmal eine Kurzzusammenfassung der Methode, um die es hier geht:
Es werden Verzeichnisse nach Files von bestimmten Typen durchsucht, diese werden dann geprüft und sollen in ein dictionary geschrieben werden (Das ganze Programm importiert Daten aus einer gegebenen Dateistruktur in die von einer anderen Applikation benoetigten Struktur).
Nun mein Problem:
Es wird zu Beginn eine Variable squences (ein dictionary) deklariert, ich verstehe aber den Mechanismus, wie diese mit Inhalt versorgt wird nicht.
Code: Alles auswählen
sequences = {} # das besagte dictionary
def issupported( fn ): # closure
for e in extensions:
if fn.endswith(e):
return True
return False
# get the files from all roots, create the sequences
for srcdn in map(normpath, root_dirs):
lsrc = len(srcdn)+1
for root, dirs, files in os.walk(srcdn, topdown=True):
relroot = root[lsrc:]
for fn in files:
if not issupported(fn):
continue
mo = heure.search(fn)
if mo:
key = fn[:mo.start(1)] + \
markchar * len(mo.group(1)) + \
fn[mo.end(1):]
else:
key = fn
key = join(relroot, key)
# hier ein beispiel fuer einen Key wert:
# tmp\v11\2048x1556\078_filename.####.jpg
if key not in sequences:
continue
else:
assert key != fn
# hier steige ich dann aus...
# Ich denke es werden zwei neue dicts erzeugt (r und l),
# die dann mit dem inhalt von sequences beschrieben werden
# sequences bekommt als Vorgabe fuer den Schluesselwert
# ein Tupel aus dem Übergeordneten Ordner zugewiesen, nur
# verstehe ich die [] in der Zuweisung nicht
r, l = sequences.setdefault(key, (srcdn, []))
# an l wird der relative rootname und der Filename
ä angehaengt
l.append(join(relroot, fn))
for k in sequences.keys():
# und so weiter...
Ich bin für jede Hilfe dankbar!!