Wie erhalte ich den Dateinamen ohne die Erweiterung aus einem Pfad in Python?
"/path/to/some/file.txt" "file"
Wie erhalte ich den Dateinamen ohne die Erweiterung aus einem Pfad in Python?
"/path/to/some/file.txt" "file"
Ich habe nicht sehr gründlich gesucht, aber ich habe niemanden gesehen, der Regex für dieses Problem verwendet hat.
Ich habe die Frage so interpretiert: "Geben Sie bei einem Pfad den Basisnamen ohne die Erweiterung zurück".
z.B..
"path/to/file.json"
=> "file"
"path/to/my.file.json"
=> "my.file"
In Python 2.7, wo wir noch ohne pathlib
...
def get_file_name_prefix(file_path):
basename = os.path.basename(file_path)
file_name_prefix_match = re.compile(r"^(?P<file_name_pre fix>.*)\..*$").match(basename)
if file_name_prefix_match is None:
return file_name
else:
return file_name_prefix_match.group("file_name_prefix")
get_file_name_prefix("path/to/file.json")
>> file
get_file_name_prefix("path/to/my.file.json")
>> my.file
get_file_name_prefix("path/to/no_extension")
>> no_extension
# use pathlib. the below works with compound filetypes and normal ones
source_file = 'spaces.tar.gz.zip.rar.7z'
source_path = pathlib.Path(source_file)
source_path.name.replace(''.join(source_path.suffixes), '')
>>> 'spaces'
trotz der vielen funktionierenden Implementierungen, die oben beschrieben wurden, habe ich dieses ^ hinzugefügt, da es nur pathlib verwendet und für zusammengesetzte und normale Dateitypen funktioniert
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.