Как извлечь родительскую папку из пути Pathlib, используя путь к необработанной строке?

#python #path

Вопрос:

Я хочу извлечь родительскую папку из необработанной строки пути. Для строки без r префикса я успешно извлек путь к файлу.

 from pathlib import Path
des_dirs = '/path/to/my/file'
Path(des_dirs).parents[0]

Output:
> PosixPath('/path/to/my')
 

Для необработанной строки я не могу извлечь родительскую папку. Что я здесь упускаю? Спасибо!

 from pathlib import Path
des_dirs = r'C:UsersppDesktopIMAGE_DATAresizedmasks'
Path(des_dirs).parents[0]

Output:
> PosixPath('.')
 

Воспроизводимый пример здесь

Ответ №1:

Прочитав документацию, вы могли бы знать, как это сделать, в документации об этом прямо сказано. Это буквально первый раздел на странице. https://docs.python.org/3/library/pathlib.html

использовать pathlib.PureWindowsPath .

 from pathlib import PureWindowsPath
des_dirs = r'C:UsersppDesktopIMAGE_DATAresizedmasks'
print(PureWindowsPath(des_dirs).parents[0])
 

Результат:
C:UsersppDesktopIMAGE_DATAresized