HOWTO · Python

Pfad der aktuellen Datei in Python ermitteln

Dieses Tutorial demonstriert, wie man in Python den Pfad der aktuellen Datei auslesen kann

Auf dieser Seite

In Python können wir mit vielen Dateien und Modulen arbeiten und ständig mit dem Dateisystem interagieren. Um Dateien zu importieren oder zu exportieren, müssen wir den korrekten Pfad und das korrekte Verzeichnis solcher Dateien kennen, sonst kommt es zu Fehlern. Es ist auch wichtig, den Pfad des aktuell laufenden Python-Skripts oder den Pfad einer anderen Datei zu kennen.

Das aktuelle Arbeitsverzeichnis ist das Verzeichnis von Python, in dem wir gerade arbeiten.

In diesem Tutorial erfahren Sie, wie Sie den vollständigen Pfad und die Verzeichnisse der aktuellen Datei und des aktuellen Arbeitsverzeichnisses in Python ermitteln können.

Verwendung des Moduls pathlib, um den Pfad von Dateien und das aktuelle Arbeitsverzeichnis zu ermitteln

Die Bibliothek pathlib ist ab Python 3.x verfügbar und enthält Klassen und Methoden zur Behandlung von Dateipfad-bezogenen Problemen.

Im folgenden Code extrahieren wir den Pfad eines Python-Skripts mithilfe der Funktionen, die das Modul pathlib bereitstellt:

import pathlib

print(pathlib.Path(__file__).parent.absolute())

Ausgabe:

C:\Sample\Python

Die Methode absolute() gibt den vollständigen Pfad der Datei zurück, und die Funktion parent() holt das Verzeichnis der Datei aus diesem Pfad.

Um das aktuelle Arbeitsverzeichnis zu erhalten, entfernen wir den Dateinamen aus der obigen Funktion. Der folgende Code zeigt, wie das geht:

import pathlib

print(pathlib.Path().absolute())

Ausgabe:

C:\Sample\Python

Verwenden des os-Modul, um den Pfad von Dateien und das aktuelle Arbeitsverzeichnis zu ermitteln

Die os-Bibliothek wird zur Interaktion mit dem Betriebssystem verwendet und verfügt über Funktionen, um die vollständigen Pfade der Dateien zu ermitteln. Diese Methode funktioniert auch mit Python 2.x.

Die Funktion abspath() kann den Pfad der gewünschten Datei ermitteln, und die Funktion dirname() ermittelt das Verzeichnis aus dem vollständigen Pfad.

Ein Beispiel:

import os

print(os.path.dirname(os.path.abspath(__file__)))

Ausgabe:

C:\Sample\Python

Wir können die Funktion dirname() nicht direkt verwenden, um das Verzeichnis einer Datei zu erhalten, da sie einen leeren String zurückgibt.

Wir können auch die Funktion realpath() als Alternative zur Funktion abspath() verwenden. Sie entfernt alle symbolischen Links, falls vorhanden, aus dem Pfad.

import os

print(os.path.dirname(os.path.realpath(__file__)))

Ausgabe:

C:\Sample\Python

Um das aktuelle Arbeitsverzeichnis zu erhalten, können wir die Funktion getcwd() verwenden, die den aktuellen Verzeichnispfad zurückgibt. Wir können diesen Pfad an die Funktion dirname() übergeben, um das Verzeichnis zu erhalten.

Ein Beispiel:

import os

print(os.path.abspath(os.getcwd()))

Ausgabe:

C:\Sample\Python