Das OS-Modul bietet verschiedene Möglichkeiten, das übergeordnete Verzeichnis abzurufen. Einige Möglichkeiten:
- Verwendung von os.path.abspath ()
- Verwendung von os . path.dirname ()
- Unter Verwendung von os.path.relpath () und os.path.dirname ()
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 :