2016-02-18 15 views

Antwort

14

Es sieht so aus, als gäbe es ein parents Element, das alle übergeordneten Verzeichnisse eines bestimmten Pfades enthält. Zum Beispiel, wenn Sie beginnen mit:

>>> import pathlib 
>>> p = pathlib.Path('/path/to/my/file') 

Dann p.parents[0] ist das Verzeichnis file enthält:

>>> p.parents[0] 
PosixPath('/path/to/my') 

... und p.parents[1] wird das nächste Verzeichnis up:

>>> p.parents[1] 
PosixPath('/path/to') 

Etc.

p.parent ist eine andere r Möglichkeit, nach p.parents[0] zu fragen. Sie können eine Path in einen String konvertieren und so ziemlich das bekommen, was man erwarten würde:

>>> str(p.parent) 
'/path/to/my' 

Und auch auf jedem Path können Sie die .absolute() Methode verwenden, um einen absoluten Pfad zu bekommen:

>>> os.chdir('/etc') 
>>> p = pathlib.Path('../relative/path') 
>>> str(p.parent) 
'../relative' 
>>> str(p.parent.absolute()) 
'/etc/../relative'