2015-12-29 39 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

的确你是对的! –