Geschrieben von: Robert Mertens | Letztes Update: 

get filename from path in Python: Erklärung & Anwendung

Wenn Sie in Python mit Pfaden arbeiten, kann es vorkommen, dass Sie den Dateinamen aus dem Pfad extrahieren müssen. Dies kann nützlich sein, wenn Sie bestimmte Aktionen basierend auf dem Dateinamen ausführen möchten. In diesem Artikel erfahren Sie, wie Sie den Dateinamen aus dem Pfad mithilfe von Python extrahieren können.

Es gibt verschiedene Möglichkeiten, den Dateinamen aus dem Pfad in Python zu extrahieren. Wir werden uns die Verwendung der ntpath-Bibliothek, der os.path-Bibliothek, des os.path.split() Methode und des Python OS-Moduls ansehen. Darüber hinaus werden wir Ihnen weitere Methoden zur Dateinamenermittlung vorstellen.

Schlüsselerkenntnisse:

  • Verwenden Sie die ntpath-Bibliothek, um den Dateinamen aus dem Pfad zu extrahieren.
  • Mit der os.path-Bibliothek können Sie ebenfalls den Dateinamen aus dem Pfad erhalten.
  • Die os.path.split() Methode teilt den Pfad in einen Kopf und einen Schwanz auf.
  • Das Python OS-Modul bietet verschiedene Möglichkeiten, den Dateinamen aus dem Pfad zu erhalten.
  • Es gibt noch weitere Methoden zur Dateinamenermittlung, wie das Pathlib-Paket und die Verwendung von regulären Ausdrücken.

Verwendung der ntpath-Bibliothek

Die ntpath-Bibliothek ist eine nützliche Python-Bibliothek, um den Dateinamen aus dem Pfad zu extrahieren. Sie unterstützt die Funktion basename, die den Dateinamen aus dem Pfad zurückgibt.

Um die ntpath-Bibliothek zu verwenden, geben Sie den gewünschten Pfad als Argument an die Funktion ntpath.basename(). Das Ergebnis ist der extrahierte Dateiname.

Hier ist ein Beispiel, wie man die ntpath-Bibliothek für die Extraktion des Dateinamens aus einem Pfad verwendet:

import ntpath
path = "usr/temp/new/sample"
filename = ntpath.basename(path)
print(filename)

Die Ausgabe dieses Beispiels ist “sample”, der extrahierte Dateiname aus dem angegebenen Pfad.

Verwendung von ntpath.basename()

  • Geben Sie den Pfad als Argument an die Funktion ntpath.basename()
  • Das Ergebnis ist der extrahierte Dateiname aus dem Pfad.
  • Beispiel: print(ntpath.basename("usr/temp/new/sample")) gibt “sample” aus.

Verwendung der os.path-Bibliothek

Um den Dateinamen aus dem Pfad zu extrahieren, können Sie auch die os.path-Bibliothek verwenden. Diese Bibliothek bietet eine Funktion namens `basename()`, die den Dateinamen aus dem Pfad zurückgibt. Geben Sie einfach den Pfad als Argument an die Funktion und erhalten Sie den Dateinamen.

Hier ist ein Beispiel, wie Sie die os.path-Bibliothek verwenden können:


import os
file_path = "/usr/temp/eng"
file_name = os.path.basename(file_path)
print(file_name) # Ausgabe: eng

Indem Sie die `os.path.basename()`-Funktion verwenden, können Sie den Dateinamen direkt aus dem Pfad extrahieren. Dies ist eine effektive Methode, um den Dateinamen aus einem Pfad in Python zu erhalten.

Verwendung der os.path.split() Methode

Python get filename from path

Eine weitere Methode, um den Dateinamen aus dem Pfad zu extrahieren, ist die Verwendung der os.path.split() Methode.

Mit dieser Methode wird der Pfad in einen Kopf (head) und einen Schwanz (tail) aufgespalten. Der Kopf enthält den Teil des Pfads vor dem letzten Trennzeichen, während der Schwanz den Teil des Pfads nach dem letzten Trennzeichen enthält.

Um den Dateinamen aus dem Pfad zu erhalten, geben Sie einfach den Pfad als Argument an die os.path.split() Methode und weisen Sie die zurückgegebenen Werte der Variablen Kopf (head) und Schwanz (tail) zu. Anschließend können Sie diese Variablen nach Belieben verwenden, um den Dateinamen anzuzeigen oder anderweitig zu verarbeiten.

Beispiel:

import os
head, tail = os.path.split("/Users/xyz/Downloads")
print(head)
print(tail)

Die obige Python-Code gibt den Kopf des Pfades (“/Users/xyz”) und den Schwanz des Pfades (“Downloads”) aus. Der Schwanz des Pfades enthält den Dateinamen.

Mit der os.path.split() Methode können Sie den Dateinamen aus dem Pfad extrahieren und ihn in Ihrer Python-Anwendung verwenden.

Verwendung der Python OS-Module

In Python gibt es verschiedene Möglichkeiten, den Dateinamen aus einem Pfad zu extrahieren. Eine Möglichkeit besteht darin, das Python OS-Modul zu verwenden. Dieses Modul bietet nützliche Funktionen zum Arbeiten mit Pfaden und Dateinamen.

Um den Dateinamen aus einem Pfad zu erhalten, können Sie die Funktion `os.path.basename()` verwenden. Geben Sie einfach den Pfad als Argument an die Funktion und Sie erhalten den Dateinamen zurück. Hier ist ein Beispiel:

import os
path = "/pfad/zum/beispiel/datei.txt"
filename = os.path.basename(path)
print(filename)

Dieser Code gibt den Dateinamen “datei.txt” aus. Beachten Sie, dass die Funktion `os.path.basename()` den gesamten Dateinamen einschließlich der Dateierweiterung zurückgibt.

Wenn Sie nur den Dateinamen ohne Erweiterung benötigen, können Sie die `split()` Funktion verwenden. Hier ist ein Beispiel:

import os
path = "/pfad/zum/beispiel/datei.txt"
filename = os.path.basename(path).split(".")[0]
print(filename)

Dieser Code gibt den Dateinamen “datei” aus, ohne die Dateierweiterung.

Weitere Methoden zur Dateinamenermittlung

In Python gibt es noch weitere Methoden, um den Dateinamen aus einem Pfad zu extrahieren. Neben der Verwendung der ntpath- und os.path-Bibliotheken gibt es noch zwei weitere Ansätze.

Pathlib-Paket

Das Pathlib-Paket bietet eine elegante Möglichkeit, den Dateinamen aus einem Pfad zu erhalten. Importieren Sie das Paket mit `from pathlib import Path` und verwenden Sie `Path(file_path).stem`, um den Dateinamen ohne Erweiterung zurückzugeben. Diese Methode ist besonders nützlich, wenn Sie weitere Operationen mit dem Pfad durchführen möchten.

Reguläre Ausdrücke

Eine andere Möglichkeit besteht darin, reguläre Ausdrücke zu verwenden, um den Dateinamen mit einem bestimmten Muster zu ermitteln. Verwenden Sie `re.search(pattern, file_path).group()`, um den Dateinamen zurückzugeben. Dies ermöglicht es Ihnen, nach spezifischen Mustern im Dateipfad zu suchen und den entsprechenden Dateinamen zu extrahieren.

Eigene Funktion

Sie können auch Ihre eigene Funktion schreiben, um den Dateinamen aus dem Pfad zu erhalten. Die Funktion teilt den Pfad in eine Liste von Komponenten auf und extrahiert dann den letzten Bestandteil, der den Dateinamen mit Erweiterung enthält. Verwenden Sie dazu den folgenden Code:

def get_file_name(file_path):
    file_path_components = file_path.split('/')
    file_name_and_extension = file_path_components[-1].rsplit('.', 1)
    return file_name_and_extension[0]

Aufruf der Funktion mit `get_file_name(file_path)` gibt Ihnen den Dateinamen zurück.

FAQ

Wie kann ich den Dateinamen aus dem Pfad in Python extrahieren?

Sie können die ntpath-Bibliothek verwenden, um den Dateinamen aus dem Pfad zu erhalten. Verwenden Sie die Funktion `basename` aus dem ntpath-Modul und geben Sie den Pfad als Argument an. Beispiel: `print(ntpath.basename(“usr/temp/new/sample”))` gibt “sample” aus. Das ntpath-Modul funktioniert für alle Pfade auf allen Plattformen.

Gibt es eine alternative Methode, um den Dateinamen aus dem Pfad zu erhalten?

Ja, Sie können auch die os.path-Bibliothek verwenden. Verwenden Sie die Funktion `basename` aus dem os.path-Modul und geben Sie den Pfad als Argument an. Beispiel: `print(os.path.basename(“usr/temp/eng”))` gibt “eng” aus. Die os.path-Bibliothek unterstützt auch die `split()` Methode, um Kopf und Schwanz des Pfades zu erhalten.

Wie verwende ich die `split()` Methode aus der os.path-Bibliothek?

Geben Sie den Pfad als Argument an die Methode `os.path.split()` und Sie erhalten den Kopf und den Schwanz des Pfades. Beispiel:
“`
import os
head, tail = os.path.split(“/Users/xyz/Downloads”)
print(head)
print(tail)
“`
Ausgabe:
“`
/Users/xyz
Downloads
“`

Gibt es noch andere Möglichkeiten, den Dateinamen aus dem Pfad zu erhalten?

Ja, Sie können auch das Python OS-Modul oder das Pathlib-Paket verwenden. Das Python OS-Modul bietet die Funktion `basename`, um den Dateinamen aus dem Pfad zu erhalten. Beispiel 1: `os.path.basename(path).split(‘/’)[-1]` gibt den Dateinamen ohne Erweiterung zurück. Beispiel 2: `os.path.basename(file_path)` gibt den gesamten Dateinamen zurück. Das Pathlib-Paket bietet die Methode `stem`, um den Dateinamen ohne Erweiterung aus dem Pfad zu erhalten. Sie können auch reguläre Ausdrücke verwenden, um den Dateinamen mit einem bestimmten Muster zu ermitteln. Eine weitere Möglichkeit ist, den Pfad in eine Liste von Komponenten zu splitten und den letzten Bestandteil (der Dateiname mit Erweiterung) in eine Liste aufzusplitten.

Quellenverweise