Czy jest coś podobnego do os.path.dirname (ścieżka), ale w pathlib?Jak uzyskać nazwę folderu, w którym znajduje się dany plik, od pathlib.path?
8
A
Odpowiedz
14
Wygląda na to, że istnieje element parents
zawierający wszystkie katalogi nadrzędne danej ścieżki. Na przykład, jeśli zaczniesz z:
>>> import pathlib
>>> p = pathlib.Path('/path/to/my/file')
Następnie p.parents[0]
jest katalog zawierający file
:
>>> p.parents[0]
PosixPath('/path/to/my')
... i p.parents[1]
będzie następny katalog up:
>>> p.parents[1]
PosixPath('/path/to')
Etc.
p.parent
jest anothe r sposób poprosić o p.parents[0]
. Można konwertować Path
na sznurku i uzyskać całkiem dużo, czego można oczekiwać:
>>> str(p.parent)
'/path/to/my'
a także na każdym Path
można użyć metody .absolute()
uzyskać bezwzględną ścieżkę:
>>> os.chdir('/etc')
>>> p = pathlib.Path('../relative/path')
>>> str(p.parent)
'../relative'
>>> str(p.parent.absolute())
'/etc/../relative'