os.path.dirname(path)
に似たものがありますが、pathlibにありますか?
特定のパスのすべての親ディレクトリを含むparents
要素があるようです。たとえば、次で始まる場合:
_>>> import pathlib
>>> p = pathlib.Path('/path/to/my/file')
_
次に、_p.parents[0]
_はfile
を含むディレクトリです。
_>>> p.parents[0]
PosixPath('/path/to/my')
_
...そして_p.parents[1]
_が次のディレクトリになります:
_>>> p.parents[1]
PosixPath('/path/to')
_
等。
_p.parent
_は、_p.parents[0]
_を要求する別の方法です。 Path
を文字列に変換して、期待どおりの結果を得ることができます。
_>>> str(p.parent)
'/path/to/my'
_
また、Path
でも.absolute()
メソッドを使用して絶対パスを取得できます。
_>>> os.chdir('/etc')
>>> p = pathlib.Path('../relative/path')
>>> str(p.parent)
'../relative'
>>> str(p.parent.absolute())
'/etc/../relative'
_