将路径转换为列表

isa*_*sar 0 python

我有一个由目录(例如)组成的路径'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)
Run Code Online (Sandbox Code Playgroud)

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

Ada*_*ith 6

pathlib你也可以使用。

import pathlib

path = "a\\b\\c"
p = pathlib.Path(path)
result = p.parts
Run Code Online (Sandbox Code Playgroud)