我有一个由目录(例如'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)
应该有更好的方法,对吧?也许是一种我不知道的方法。
import pathlib
path = "usr/local/bin"
p = pathlib.Path(path)
result = p.parts
print(list(result))
['usr', 'local', 'bin']
你也可以用pathlib。
import pathlib
path = "a\b\c"
p = pathlib.Path(path)
result = p.parts
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。