Übergeordnetes Verzeichnis des aktuellen Verzeichnisses mit Python abrufen

| | | | | | | | | | | | | | | | | | | | | |

Das OS-Modul bietet verschiedene Möglichkeiten, das übergeordnete Verzeichnis abzurufen. Einige Möglichkeiten:

Using os.path. abspath ()

os.path.abspath () kann verwendet werden, um das übergeordnete Verzeichnis zu erhalten. Diese Methode wird verwendet, um die normalisierte Version des Pfads zu erhalten. Diese Funktion benötigt auch Hilfe os.path.join ( () und os.pardir () .
os.path.join ( () in Python os.path.join ( () kombiniert eine oder mehrere Pfadkomponenten. Diese Methode verkettet verschiedene Pfadkomponenten mit genau einer (' / ') Verzeichnistrennzeichen nach jedem nicht leeren Teil mit Ausnahme der letzten Pfadkomponente. Wenn die letzte Komponente des zu verbindenden Pfads leer ist, dann wird ( ' / ') Verzeichnistrennzeichen wird am Ende platziert.

Syntax: os.path.abspath (Pfad)

Parameter:
Pfad: Ein pfadähnliches Objekt, das einen Dateisystempfad darstellt.

Zurück Typ: Gibt eine Zeichenfolge zurück, die eine normalisierte Version des Pfads ist.

Beispiel:


# Python-Programm zum Abrufen des übergeordneten
# -Verzeichnisses



import os


# aktuelles Verzeichnis abrufen

path = os.getcwd ()

print ( "Current Directory" , cwd)


# druckt das übergeordnete Verzeichnis

print (os.path.abspath ( < a href="https://python.engineering/python-os-path-join-method/">os.path.join ( (path, os.pardir)))

Ausgabe:

Mit os.path.dirname ()

os.path.dirname () wird in Python verwendet, um den Namen eines Verzeichnisses bei a zu erhalten gegebenen Weg.

Syntax: os.path.dirname< /a>(path)

P arameter:
path: Ein pfadähnliches Objekt, das einen Dateisystempfad darstellt.

Rückgabetyp: Diese Methode gibt einen Zeichenfolgenwert zurück, der den Verzeichnisnamen aus dem angegebenen Pfad darstellt.

Beispiel:

# Python-Programm zum Abrufen des übergeordneten
# Verzeichnis


import os


# Abrufen des aktuellen Verzeichnisses

Pfad = os.getcwd ()

print ( "Cu rrent Directory " , path)

print ( )


# übergeordnetes Verzeichnis

parent = os. path.dirname (path)

print ( "Elternverzeichnis" , parent)

Beenden :

Verwenden von os.path.relpath () und os.path.dirname ()

In den obigen Beispielen war das Abrufen des übergeordneten Verzeichnisses auf eine Ebene beschränkt, das heißt , konnten wir die übergeordnete Ebene des aktuellen Verzeichnisses nur auf eine Ebene bringen ... Angenommen, wir möchten die übergeordnete Ebene für das übergeordnete Verzeichnis finden, dann schlägt der obige Code fehl. Dies kann erreicht werden, indem os.path.dirname () .

os.path.relpath () wird in Python verwendet erhält den relativen Pfad zu einer Datei unter einem angegebenen Pfad entweder aus dem aktuellen Arbeitsverzeichnis oder dem angegebenen Verzeichnis.

Syntax: os.path.relpath (path, start = os.curdir)

Parameter:
Pfad: Ein pfadähnliches Objekt, das den Dateisystempfad darstellt.
start (optional): Ein pfadähnliches Objekt, das den Dateisystempfad darstellt.
Der relative Pfad für den angegebenen Pfad wird in Bezug auf das durch start angegebene Verzeichnis berechnet.Der Standardwert dieses Parameters ist os. curdir, das ist eine Konstante st Ring, der vom Betriebssystem verwendet wird, um auf das aktuelle Verzeichnis zu verweisen.

Ein pfadähnliches Objekt ist entweder ein String- oder ein Byte-Objekt, das einen Pfad darstellt.

Rückgabetyp: Diese Methode gibt einen Stringwert zurück, der den relativen Dateipfad zum angegebenen Pfad vom Startverzeichnis darstellt.0222

Beispiel:

Um das übergeordnete Verzeichnis gemäß den vom Benutzer angegebenen Ebenen zu erhalten, erstellen wir eine Funktion getParent () , die einen Pfad und Ebenen als akzeptiert Argumente. Innerhalb der Funktion wiederholt die for-Schleife level + 1 Zeitzahlen und innerhalb der for-Schleife -Schleife os.path.dirname () wird aufgerufen. Der Aufruf dieser Funktion innerhalb einer for-Schleife gibt uns einen Startpunkt, von dem aus os.path.relpath () den relativen Pfad zur Datei liefert.

Unten ist die Implementierung.


# Python-Getter
# übergeordnetes Verzeichnis



import os.path


# Funktion zum Abrufen der übergeordneten

def getParent (Pfad, Ebenen = 1 ):

Common = path


# Verwendung der for-Schleife, um

# den Startpunkt zu erhalten, der für

# erforderlich ist os.path.relpath ()

for i in range (Ebenen + 1 ):


# Ausgangspunkt

häufig = os.path.dirname (allgemein)

# Übergeordnetes Verzeichnis vor dem angegebenen

# level

return os.path.relpath (path, common)


path = ’D: / Pycharm-Projekte / Py thon.Engineering / Nikhil / gfg.txt’

print (getParent (Pfad, 2 ))

Beenden :