Seite 1 von 1

Skripte ineinder einfügen/verschachteln

Verfasst: Sonntag 20. November 2011, 00:00
von frixhax
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

Re: Skripte ineinder einfügen/verschachteln

Verfasst: Sonntag 20. November 2011, 01:30
von deets
os.walk ist dein freund

Re: Skripte ineinder einfügen/verschachteln

Verfasst: Sonntag 20. November 2011, 11:15
von BlackJack
@mohack: Ansonsten gibt es Funktionen um die Einrücktiefe nicht zu hoch werden zu lassen.

Re: Skripte ineinder einfügen/verschachteln

Verfasst: Sonntag 20. November 2011, 22:05
von frixhax
@deets: danke, werd ich mir ansehen!

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

Re: Skripte ineinder einfügen/verschachteln

Verfasst: Sonntag 20. November 2011, 22:12
von BlackJack
@mohack: Arbeite am besten das Tutorial in der Python-Dokumentation mal durch. Also mindestens bis zu dem Punkt wo Funktionen behandelt werden.

Re: Skripte ineinder einfügen/verschachteln

Verfasst: Sonntag 20. November 2011, 22:20
von frixhax
OK, danke!