Код: Выделить всё
>>> raw = "c:\\alpha\\bravo\\foo.txt"
Код: Выделить всё
>>> from pathlib import PureWindowsPath
>>> pwp = PureWindowsPath( raw )
>>> pwp
PureWindowsPath('c:/alpha/bravo/foo.txt')
>>> pwp.as_posix()
'c:/alpha/bravo/foo.txt'
>>> pwp.parts
('c:\\', 'alpha', 'bravo', 'foo.txt')
>>> keep = pwp.parts[ pwp.parts.index( 'bravo' ) : ]
>>> keep
>>> ('bravo', 'foo.txt' )
Если я оберну путь просто объектом pathlib.PurePath, для этого будет создан производный PurePosixPath. Однако необработанное значение пути не интерпретируется должным образом; разделители каталогов не исправлены; путь неправильно разбит на части.
Код: Выделить всё
>>> from pathlib import PurePath
>>> pp = PurePath( raw )
>>> pp
PurePosixPath('c:\\alpha\\bravo\\foo.txt')
>>> pp.as_posix()
'c:\\alpha\\bravo\\foo.txt'
>>> pp.parts
('c:\\alpha\\bravo\\foo.txt',)
Найдена документация:
Подробнее здесь: https://stackoverflow.com/questions/736 ... -in-python
Мобильная версия