Der Fehler lag wohl in der get_filepaths Funktion. Ich glaube so ist es jetzt OK:
Code: Alles auswählen
def get_filepaths(verzeichnis):
"""Erzeuge eine Dateiliste mit allen Dateipfaden in dem übergebenen Verzeichnis"""
dateiliste = [] # Liste, die alle Dateien im übergebenen Verzeichnis enthält.
# Durchlaufe den Verzeichnisbaum:
for root, directories, files in os.walk(verzeichnis):
for filename in files:
# Füge die beiden Strings für den kompletten Pfad zusammen:
dateipfad = os.path.join(os.path.relpath(verzeichnis, root), filename)
dateiliste.append(dateipfad)
return dateiliste
Code: Alles auswählen
{'../../file_neu.jpg', './file_A.jpg', '../file_neu.jpg'}
1.Die in dir_A fehlenden Dateien unsortiert ausgegeben werden.
2. Die Pfade zu den fehlenden Dateien relativ ausgegeben werden.
zu 1. Das ist bei einem Set wohl nicht zu ändern.
zu 2. Bei relativ wenigen Änderungen ist das kein Problem. Bei großen, stark verzweigten Verzeichnissen mit vielen Änderungen kann das etwas unübersichtlich sein.
Mit beiden kleinen Schönheitsfehlern kann ich aber gut leben.
Nochmals herzlichen Dank an Alle für die Zeit, die ihr für mich aufgewendet habt. Ich habe auf jeden Fall einiges gelernt.