556 Stimmen

Wie erhalte ich das übergeordnete Verzeichnis in Python?

Könnte mir jemand sagen, wie man das übergeordnete Verzeichnis eines Pfades in Python in einem Cross-Plattform Weg zu erhalten. Z.B..

C:\Program Files ---> C:\

und

C:\ ---> C:\

Wenn das Verzeichnis kein übergeordnetes Verzeichnis hat, wird das Verzeichnis selbst zurückgegeben. Die Frage mag einfach erscheinen, aber ich konnte sie nicht über Google ausgraben.

6voto

8bitjunkie Punkte 12117

Wenn Sie wollen nur le site Name des Ordners, der das unmittelbare Elternteil der als Argument angegebenen Datei ist, und pas le site absoluter Pfad zu dieser Datei:

os.path.split(os.path.dirname(currentDir))[1]

d.h. mit einer currentDir Wert von /home/user/path/to/myfile/file.ext

Der obige Befehl wird zurückgegeben:

myfile

4voto

Miguel Mota Punkte 19214
import os

dir_path = os.path.dirname(os.path.realpath(__file__))
parent_path = os.path.abspath(os.path.join(dir_path, os.pardir))

3voto

import os.path

os.path.abspath(os.pardir)

3voto

samsamara Punkte 4418

Ich füge nur etwas zur Antwort von Tung hinzu (Sie müssen die rstrip('/') um auf der sicheren Seite zu sein, wenn Sie auf einer Unix-Box arbeiten).

>>> input = "../data/replies/"
>>> os.path.dirname(input.rstrip('/'))
'../data'
>>> input = "../data/replies"
>>> os.path.dirname(input.rstrip('/'))
'../data'

Aber, wenn Sie nicht rstrip('/') wenn Ihre Eingabe lautet

>>> input = "../data/replies/"

ausgeben würde,

>>> os.path.dirname(input)
'../data/replies'

was wahrscheinlich nicht das ist, wonach Sie suchen, da Sie beides wollen "../data/replies/" et "../data/replies" das gleiche Verhalten an den Tag zu legen.

2voto

Eros Nikolli Punkte 941
print os.path.abspath(os.path.join(os.getcwd(), os.path.pardir))

Damit können Sie das übergeordnete Verzeichnis des aktuellen Standorts Ihrer py-Datei ermitteln.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X