Gibt es eine Funktion zum Extrahieren der Erweiterung aus einem Dateinamen?
Antworten
Zu viele Anzeigen?
Execuday
Punkte
69
Kenstars
Punkte
624
Dies ist eine direkte String-Darstellungstechnik: Ich sehe eine Menge Lösungen erwähnt, aber ich denke, die meisten sind auf Split suchen. Split jedoch tut es bei jedem Auftreten von "." . Was Sie eher suchen sollten, ist partition.
string = "folder/to_path/filename.ext"
extension = string.rpartition(".")[-1]
Muhammad Salman
Punkte
65
Arnaldo P. Figueira Figueira
Punkte
1052
Eine weitere Lösung mit rechter Aufteilung:
# to get extension only
s = 'test.ext'
if '.' in s: ext = s.rsplit('.', 1)[1]
# or, to get file name and extension
def split_filepath(s):
"""
get filename and extension from filepath
filepath -> (filename, extension)
"""
if not '.' in s: return (s, '')
r = s.rsplit('.', 1)
return (r[0], r[1])
Victor Wang
Punkte
599
Ein echter Einzeiler, wenn Sie Regex mögen. Und es macht auch nichts, wenn Sie zusätzliche "." in der Mitte haben
import re
file_ext = re.search(r"\.([^.]+)$", filename).group(1)
Das Ergebnis finden Sie hier: Hier klicken