Python Glossary English

Python 3.12+osфункция

os.path.splitroot

os.path — разбор пути

Разбивает путь на тройку (диск, корень, остаток) (Python 3.12+).

Синтаксис

os.path.splitroot(path)

Отделяет корень от диска, и это позволяет различить пути, которые splitdrive путает: ntpath.splitroot('C:a') даёт ('C:', '', 'a') — корня нет, путь относительный. На POSIX ровно два ведущих слеша сохраняются как корень, при трёх и больше корнем становится один слеш, а остальные уходят в остаток без изменений: splitroot('//x') даёт ('', '//', 'x'), а splitroot('///x') — ('', '/', '//x'). Появилась в Python 3.12.

Примеры

import os
print(os.path.splitroot('/a/b'))   # → ('', '/', 'a/b')
print(os.path.splitroot('a/b'))   # → ('', '', 'a/b') — пустой root означает относительный путь
drive, root, tail = os.path.splitroot('/a/b/c.txt')
print(drive + root + tail)   # → /a/b/c.txt — три части всегда склеиваются обратно в исходный путь
print(os.path.splitroot(''))   # → ('', '', '')
print(os.path.splitroot('C:/Users'))   # → только Windows: ('C:', '/', 'Users'); на Unix буква диска не выделяется — ('', '', 'C:/Users')

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности