Skripte ineinder einfügen/verschachteln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
frixhax
User
Beiträge: 39
Registriert: Donnerstag 21. April 2011, 14:06

Hallo!

Ich habe ein Python-Skript, welches auf Textdateien in einem Ordner arbeitet. Von diesen Ordnern gibt es mehrere von verschiedenen Datensätzen (auf die Ordnerstruktur habe ich keinen Einfluss). Die Ordnerstruktur, die ich in dem Programm abgehen muss, sieht etwa so aus:

Code: Alles auswählen

Daten
  \_ Gerät
       \_ Filter
            \_ Datum
                  \_ Textdateien
Wobei jeder der Ordner wiedrum Unterordner hat, die alle durchlaufen werden sollen. Es gibt zwei Geräte-Ordner, jeder davon hat mehrere Filterordner und davon wiederum hat jeder hunderte Datumsordner. Bisher habe ich es so gemacht, dass ich den Pfad bis zum Filter hart gecodet habe und das Programm dort in einer for-Schleife laufen lasse, die die im Filterordner per glob.glob gefundenen Datumsordner abgeht.
Nun würde ich es aber gerne so machen, dass ich das Programm nur einmal im obersten Ordner "Daten" starte und es selbständig alle Geräte-, Filter- und Datumsordner durchgeht und alle Textdateien abarbeitet. Gibt es eine elegante, einfache Möglichkeit das zu tun, außer um das ganze Programm mehrere for-Schleifen zu machen, die jeweils alle Unterordner auslesen und man sich so "durchhangelt" bis zum Ordner, in dem die Dateien liegen? Das geht zwar natürlich, ist aber vom Code her sehr unschön, da ich das ganze Programm dann ja drei oder viermal einrücken muss und in jeder Zeile erstmal zig Tabs setzen muss.

Danke, viele Grüße
BlackJack

@mohack: Ansonsten gibt es Funktionen um die Einrücktiefe nicht zu hoch werden zu lassen.
Benutzeravatar
frixhax
User
Beiträge: 39
Registriert: Donnerstag 21. April 2011, 14:06

@deets: danke, werd ich mir ansehen!

@BlackJack: Ja, an sowas dachte ich. Kannst du mir sagen, wonach ich da suchen muss?
BlackJack

@mohack: Arbeite am besten das Tutorial in der Python-Dokumentation mal durch. Also mindestens bis zu dem Punkt wo Funktionen behandelt werden.
Benutzeravatar
frixhax
User
Beiträge: 39
Registriert: Donnerstag 21. April 2011, 14:06

OK, danke!
Antworten