HOWTO · Python

Übergeordnetes Verzeichnis in Python abrufen

Dieses Tutorial demonstriert, wie man das übergeordnete Verzeichnis eines Pfades in Python auslesen kann

Auf dieser Seite

In diesem Tutorial werden verschiedene Methoden erklärt, um das übergeordnete Verzeichnis eines Pfades in Python zu ermitteln. Das übergeordnete Verzeichnis ist das Verzeichnis direkt über dem gegebenen Verzeichnis oder der gegebenen Datei. Zum Beispiel ist das übergeordnete Verzeichnis eines Pfades C:\folder\subfolder\myfile.txt das Verzeichnis C:\folder\subfolder. Jedes Verzeichnis außer dem Stammverzeichnis hat ein eigenes übergeordnetes Verzeichnis; das übergeordnete Verzeichnis des Stammverzeichnisses ist das Stammverzeichnis selbst.

Das übergeordnete Verzeichnis eines Pfades mit Path.parent ermitteln

Das Modul pathlib stellt einen Pfad als Path-Objekt dar. Dessen Eigenschaft parent liefert das logische übergeordnete Verzeichnis des Pfades als weiteres Path-Objekt; wickeln Sie es in str() ein, wenn Sie das übergeordnete Verzeichnis als Zeichenkette benötigen. Es gibt nichts aufzurufen und kein Argument zu übergeben: Sie lesen die Eigenschaft von dem Path, den Sie erstellt haben.

Das folgende Beispiel zeigt, wie Sie mit der Eigenschaft parent das übergeordnete Verzeichnis eines Pfades in Python ermitteln:

from pathlib import Path

path1 = Path(r"C:\folder\subfolder\myfile.txt")
path2 = Path(r"C:\Myfile.txt")
print(path1.parent)
print(path2.parent)

Ausgabe:

C:\folder\subfolder
C:\

os.pardir mit os.path.join() verwenden

os.pardir ist eine konstante Zeichenkette, die auf das übergeordnete Verzeichnis verweist. Sie ist '..' unter Windows und auf POSIX-Systemen, einschließlich macOS.

Wenn wir den gegebenen Pfad und os.pardir mit der Funktion os.path.join() kombinieren und das Ergebnis mit os.path.abspath() normalisieren, erhalten wir das übergeordnete Verzeichnis des gegebenen Pfades.

Das folgende Beispiel zeigt, wie Sie mit os.pardir und os.path.join() das übergeordnete Verzeichnis eines Pfades ermitteln:

import os.path

path1 = r"C:\folder\subfolder\myfile.txt"
path2 = r"C:\Myfile.txt"

print(os.path.abspath(os.path.join(path1, os.pardir)))
print(os.path.abspath(os.path.join(path2, os.pardir)))

Ausgabe:

C:\folder\subfolder
C:\

Wie oben erwähnt, könnten wir dasselbe Ergebnis auch erhalten, wenn wir os.pardir durch '..' ersetzen.

import os.path

path1 = r"C:\folder\subfolder\myfile.txt"
path2 = r"C:\Myfile.txt"

print(os.path.abspath(os.path.join(path1, "..")))
print(os.path.abspath(os.path.join(path2, "..")))

Ausgabe:

C:\folder\subfolder
C:\

Das übergeordnete Verzeichnis eines Pfades mit os.path.dirname() ermitteln

os.path.dirname() ist eine Funktion, die eine Pfadzeichenkette als Eingabe nimmt und den Verzeichnisteil des Pfades zurückgibt: alles bis zum letzten Pfadtrennzeichen. Bei einem Pfad, der auf eine Datei zeigt, ist dieser Verzeichnisteil das übergeordnete Verzeichnis, zurückgegeben als Zeichenkette.

Das folgende Beispiel zeigt, wie Sie mit os.path.dirname() das übergeordnete Verzeichnis eines Pfades ermitteln:

import os.path

path1 = r"C:\folder\subfolder\myfile.txt"
path2 = r"C:\Myfile.txt"

print(os.path.dirname(path1))
print(os.path.dirname(path2))

Ausgabe:

C:\folder\subfolder
C:\