os.listdir os.path.abspath 2.4 auf Linux Überraschung

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
Witwe_Bolte
User
Beiträge: 6
Registriert: Freitag 8. September 2006, 21:05
Wohnort: Wiedensahl

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.
unsensibel aber empfindlich
Benutzeravatar
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.
Witwe_Bolte
User
Beiträge: 6
Registriert: Freitag 8. September 2006, 21:05
Wohnort: Wiedensahl

normpath made it clear. thx
unsensibel aber empfindlich
Antworten