Python Pathlib-加入n个父对象
我正在玩Pathlib,并试图找出是否有一种简单的方法来执行以下操作-我有一组路径,我想从中提取前4个父路径,并将这4个连接到一个路径中 或者(如果可能的话)我想加入所有的父项,直到父项传递给给定的父项,例如,Python Pathlib-加入n个父对象,python,python-3.x,path,pathlib,Python,Python 3.x,Path,Pathlib,我正在玩Pathlib,并试图找出是否有一种简单的方法来执行以下操作-我有一组路径,我想从中提取前4个父路径,并将这4个连接到一个路径中 或者(如果可能的话)我想加入所有的父项,直到父项传递给给定的父项,例如,c://d1//d2//known//d4//……,在这里我想提取到//d4,即“known”父项后面的父项 我知道我可以循环使用这些部分并连接到第n个部分,但我想知道是否有一种方法可以执行以下类似的操作:p.joinpath(p.parents[0:4]),p.joinpath(p.pa
c://d1//d2//known//d4//……
,在这里我想提取到//d4
,即“known”父项后面的父项
我知道我可以循环使用这些部分并连接到第n个部分,但我想知道是否有一种方法可以执行以下类似的操作:p.joinpath(p.parents[0:4])
,p.joinpath(p.parents[0:'known_index'+1])
,或者任何最类似python的操作
更新:
我通过元组解包打印(p.joinpath(*p.parts[0:5])
成功地连接到了第n个,是否有更好的方法,我仍然没有实现上述替代案例的目标
更新:
我找到了“可选”案例的选项print(p.joinpath(*p.parts[0:p.parts.index('PCB_236_237_ARM')+2])
我现在正在寻找最具蟒蛇风格的方式。这对我来说已经够蟒蛇的了:
p1 = pl.Path('c://d1//d2//known//d4//')
idx = p1.parts.index('known')
p2 = pl.Path(*p1.parts[:idx+1])
我使用pl.Path(*segments)
连接这些段,因为实例方法p.joinpath()
将这些段附加到实例的p
自身路径