2015-12-29 101 views
1

假設我有一個路徑:獲取路徑的子集與指定的文件夾

'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') 
1

您好,您可以嘗試拆分的路徑,例如

import os 

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

結果是:

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

刪除要 的一個,之後的串聯路徑。

謝謝,祝你好運!

+0

對不起os.path.sep是正確的分隔符 –

+0

的確你是對的! –