分成三角形的路径'子文件夹

时间:2017-03-22 17:07:07

标签: python python-3.6 os.path

我想将路径拆分为其组件,并从底部按顺序处理每个目录。对于

path = 'a/b/c/d'

我想要

components = [
    ('', 'a'),
    ('a', 'b'),
    ('a/b', 'c'),
    ('a/b/c', 'd')
]

标准库中有什么东西可以帮我完成任务吗?

1 个答案:

答案 0 :(得分:0)

这很有效,虽然我更喜欢看起来更好看的东西,但希望不那么容易出错。

>>> comp = os.path.normpath('a/b/c/d').split(os.sep)
>>> [(os.path.join(*comp[:i]) if comp[:i] else '', comp[i]) for i in range(len(comp))]
[('', 'a'), ('a', 'b'), ('a/b', 'c'), ('a/b/c', 'd')]