Получить подмножество пути с указанной папкой

Предположим, у меня есть путь:

'C:\\Folder1\\Folder2\\Folder3\\Folder4'

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

Например с путем сверху, я указываю такой каталог:

'Folder2'

И я хочу получить этот путь в результате:

'C:\\Folder1\\Folder2\\Folder3'

2 ответа

Решение

Библиотека os имеет множество функций для управления путями. тогда рекурсивный метод может позволить найти правильную папку. попробуйте что-то вроде этого:

import os

def find_folder( path, folder_name):
    head, tail = os.path.split(path)
    if folder_name == os.path.split(head)[1]:
        return path
    else:
        return find_folder(head, folder_name)

path = 'C:\\Folder1\\Folder2\\Folder3\\Folder4'
print find_folder(path, 'Folder2')

Привет вы можете попытаться разделить путь, например

  import os

  a=r"'C:\\Folder1\\Folder2\\Folder3\\Folder4'"
  a.split(os.pathsep)

результат:

  ['C:', 'Folder1', 'Folder2', 'Folder3', 'Folder4']

удалите тот, который вы хотите, и конкатенируйте после этого путь.

Спасибо и удачи!

Другие вопросы по тегам