开发者社区> 问答> 正文

将路径转换为列表

我有一个由目录(例如'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)
应该有更好的方法,对吧?也许是一种我不知道的方法。

展开
收起
一码平川MACHEL 2019-02-28 14:20:36 2793 0
2 条回答
写回答
取消 提交回答
  • import pathlib
    path = "usr/local/bin"
    p = pathlib.Path(path)
    result = p.parts
    print(list(result))

    ['usr', 'local', 'bin']

    2019-07-17 23:29:45
    赞同 1 展开评论 打赏
  • 你也可以用pathlib。

    import pathlib

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

    2019-07-17 23:29:45
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载