Ich arbeite zwar recht gerne, aber doch auch sehr selten mit Python. Ich würde gerne Dateien in verschiedenen Verzeichnissen einlesen. Das Problem ist, dass sich in dem Unterordner ca. 10000 Unterverzeichnisse befinden. Die kann ich natürlich nicht hardcoden . Die Verzeichnisstruktur sieht ungefähr so aus
./MeinSkript.py
./statistics
./statistics/dictionary1
./statistics/dictionary2
...
./statistics/dictionaryN
Wobei "./" das aktuelle Verzeichnis bezeichnet (Unixnotation). In jedem Unterverzeichnis ( zB dictionary953) befindet sich eine Textdatei. Ich möchte nun jede Textdatei in den Unterverzeichnissen nacheinander öffnen, deren Inhalt einlesen und dann wieder schließen. Hier mal ein bisschen Pseudocode
1. Öffne Verzeichnis "statistics"
2. List dictionaries = gebeMirEineListeMitAllenVerzeichnienImAktuellenVerzeichnis()
3. for dict in dictionaries: Öffne Textdatei "statistics/dict/textdatei.txt"
4. Textdatei abarbeiten und schließen
Wie kann ich Punkt 1 und 2 mit Python realisieren?
Verzeichnisliste erhalten
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Schau dir mal das glob-Modul an.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Schau Dir mal die Doku zu os.walk() und dem glob-Modul an.
Dazu ggf. diesen Thread hier:
http://www.python-forum.de/viewtopic.ph ... r+rekursiv
Damit solltest Du das einfach realisieren können.
Schritt 1 ist dabei absolut überlüssig. Prinzipiell kann man das mit os.listdirs() realisieren.
Dazu ggf. diesen Thread hier:
http://www.python-forum.de/viewtopic.ph ... r+rekursiv
Damit solltest Du das einfach realisieren können.
Schritt 1 ist dabei absolut überlüssig. Prinzipiell kann man das mit os.listdirs() realisieren.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Damit hast Du aber keinen rekursiven Durchlauf aller Unterverzeichnisse...toom hat geschrieben:Besten Dank für die Antworten. Ich habe es mit glob gelöst.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert