Meine Aktuelle Variante, macht das rekursiv, es sieht so aus:
Code: Alles auswählen
def get_basename(filelist, basename=""):
"""
Liefert die gemeinsame Basis aller Dateinamen zurück
>>> get_basename(["abc1.txt", "abc2.txt", "abc3.txt"])
'abc'
>>> get_basename(["1.txt", "2.txt", "3.txt"])
''
"""
first_fn = filelist[0]
pos = len(basename)
# nächsten Buchstaben einfügen
new_basename = basename + first_fn[pos]
for fn in filelist:
if not fn.startswith(new_basename):
# Eine Datei fängt nicht so an -> Basis gefunden
return basename
return get_basename(filelist, new_basename)