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.