代码之家  ›  专栏  ›  技术社区  ›  isar

将路径转换为列表

  •  0
  • isar  · 技术社区  · 5 年前

    我有一个由目录组成的路径(例如 'grandpa\\parent\\child' )我需要在列表中转换(例如 ['grandpa', 'parent', 'child'] )

    路径可以有较少或更多的子目录(例如 ['parent', 'child'] )

    我尝试重复 os.path.split() 但在任何情况下都不能很好地工作:

    import os
    
    s = []
    def splitall(path):
        l = list(os.path.split(path))
        s.append(l[1])
        return s if l[0] == '' else splitall(l[0])
    
    p = 'grandpa\\parent\\child'
    l = splitall(p)
    print(l)
    

    应该有更好的方法,对吧?也许是我不知道的方法。

    1 回复  |  直到 5 年前
        1
  •  4
  •   Adam Smith jeffpkamp    5 年前

    你可以使用 pathlib 也是。

    import pathlib
    
    path = "a\\b\\c"
    p = pathlib.Path(path)
    result = p.parts