Как последовательно разбивать пути на Windows - PullRequest
1 голос
/ 07 февраля 2020

Я очень запутался, когда строю пути на windows:

HDF_OUTPUT = f'{__file__}'.split('\\')
print(HDF_OUTPUT)


HDF_OUTPUT = f'{__file__}'.split('/')
print(HDF_OUTPUT)

Вывод:

['C:/Users/Artur/Desktop/tsfresh/file.py']
['C:', 'Users', 'Artur', 'Desktop', 'tsfresh', 'file.py']

В этом примере второй подход сработал, но это не всегда так. Иногда первый подход приводит к правильному разделению, а иногда второй подход приводит к правильному разделению. Кажется, есть проблема с / и оператором \\.

Я хочу это разделение:

['C:', 'Users', 'Artur', 'Desktop', 'tsfresh', 'file.py']

Как мне получить последовательность в этом? Есть ли правильный способ обработки путей?

1 Ответ

2 голосов
/ 07 февраля 2020

В наши дни встроенные стандартные пути обработки находятся в библиотеке pathlib.

from pathlib import Path
p = Path(r'C:\mypath\to\my\file.txt')
print(p.parts)
# ('C:\\', 'mypath', 'to', 'my', 'file.txt')
...