liste=os.listdir(os.getcwd()) macht brav den Inhalt des cwd in liste.
bei for datei in liste macht os.path.abspath(datei) auch den Pfad richtig.
Gebe ich oben aber os.listdir(UNTERVERZEICHNIS) mit, enthält liste auch tatsächlich den Inhalt von UNTERVERZEICHNIS. os.path.abspath klatscht nun aber vor den Dateinamen den absoluten Pfad des cwd - das UNTERVERZEICHNIS fehlt im Pfad.
Heißt das, daß os.path.abspath(datei) nix anderes tut, als den absoluten Pfad des Arbeitsverzeichnisses mit datei zu verbinden? Das wäre mager. Andererseits müßte sich der Interpreter sonst auf Verdacht inodes oder Verzeichnisbäume merken.
Gibt es einen geschickteren Weg, wenn man mit einer Masse Dateien in massig Verzeichnissen umgehen muß?
Das Rad selbst mit eigenen Variablen und Listen zu erfinden, wäre ja wohl nicht python-standesgerecht.
os.walk scheint mir doch ein bissi starr und viel Overhead.
BTW: Taucht der name walk tatsächlich in os und os.path auf. Dann hätte mein dickes tolles Python-Buch nämlich einen Fehler.
os.listdir os.path.abspath 2.4 auf Linux Überraschung
-
- User
- Beiträge: 6
- Registriert: Freitag 8. September 2006, 21:05
- Wohnort: Wiedensahl
unsensibel aber empfindlich
- DatenMetzgerX
- User
- Beiträge: 398
- Registriert: Freitag 28. April 2006, 06:28
- Wohnort: Zürich Seebach (CH)
abspath( path)
Return a normalized absolutized version of the pathname path. On most platforms, this is equivalent to normpath(join(os.getcwd(), path)). New in version 1.5.2.
Return a normalized absolutized version of the pathname path. On most platforms, this is equivalent to normpath(join(os.getcwd(), path)). New in version 1.5.2.
-
- User
- Beiträge: 6
- Registriert: Freitag 8. September 2006, 21:05
- Wohnort: Wiedensahl
normpath made it clear. thx
unsensibel aber empfindlich