Seite 1 von 1

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

Verfasst: Freitag 8. September 2006, 21:26
von Witwe_Bolte
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.

Verfasst: Freitag 8. September 2006, 22:34
von DatenMetzgerX
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.

got it

Verfasst: Freitag 8. September 2006, 22:48
von Witwe_Bolte
normpath made it clear. thx