Existe-t-il quelque chose de similaire à os.path.dirname(path)
, mais dans pathlib?
Il semble qu'il existe un élément parents
qui contient tous les répertoires parents d'un chemin donné. Par exemple, si vous commencez par:
>>> import pathlib
>>> p = pathlib.Path('/path/to/my/file')
Alors p.parents[0]
Est le répertoire contenant file
:
>>> p.parents[0]
PosixPath('/path/to/my')
... et p.parents[1]
sera le prochain répertoire en haut:
>>> p.parents[1]
PosixPath('/path/to')
Etc.
p.parent
Est une autre façon de demander p.parents[0]
. Vous pouvez convertir un Path
en une chaîne et obtenir à peu près ce que vous attendez:
>>> str(p.parent)
'/path/to/my'
Et aussi sur n'importe quel Path
vous pouvez utiliser la méthode .absolute()
pour obtenir un chemin absolu:
>>> os.chdir('/etc')
>>> p = pathlib.Path('../relative/path')
>>> str(p.parent)
'../relative'
>>> str(p.parent.absolute())
'/etc/../relative'