将路径转换为列表-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

将路径转换为列表

一码平川MACHEL 2019-02-28 14:20:36 1468

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

分享到
取消 提交回答
全部回答(2)
  • 游客drl6uevi2k7uk
    2019-07-17 23:29:45

    import pathlib
    path = "usr/local/bin"
    p = pathlib.Path(path)
    result = p.parts
    print(list(result))

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

    1 0
  • 一码平川MACHEL
    2019-07-17 23:29:45

    你也可以用pathlib。

    import pathlib

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

    0 0
添加回答
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章