Python: наиболее эффективный способ подсчета родительских папок в пути - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь найти наиболее эффективный способ подсчета количества родительских папок в пути. Например, этот путь: D: \ Python \ Projects \ Old code \ project_1, будет иметь 3 родительские папки, а именно: \ Python \ Projects \ Old code.

Я решил эту проблему, посчитав количество символов \ (для окон), однако мне было интересно, есть ли какой-либо метод сборки для этого, чтобы я мог достичь того же результата в операционных системах.

Мое текущее решение:

def count_parents(path):
    return path.count("\\") - 1

(Windows) Пример: D: \ Python \ Projects \ Старый код \ project_1 Должны привести: 3

Для Linux я ожидаю, конечно, тот же результат, но без необходимости проверять, есть ли в строке \ или / для подсчета количества родителей

Буду очень признателен всем, кто сможет решить эту проблему эффективно! (Я попытался погуглить этот вопрос, но не смог найти решение)

1 Ответ

2 голосов
/ 08 июня 2019

это вариант:

def count_parents(path):
    return len(path.parts) - 2
    # or:
    # return len(path.parents) - 1

см. path.parts и Path.parents.

...