Pathlib - 加入 n parents
Pathlib - join n parents
我正在尝试使用 Pathlib 并试图找出是否有一种简单的方法来执行以下操作 - 我有一组路径,我想从中提取前 4 个 parents,并且将这 4 个加入一条路径。
或者(如果可能)我想加入所有 parent 直到 parent 通过给定的,例如 c://d1//d2//known//d4//...
这里我想提取最多 //d4
,即 parent 紧跟在 'known' parent.
之后
我知道我可以遍历这些部分并连接到第 n 个部分,但我想知道是否有一种方法可以执行以下 p.joinpath(p.parents[0:4])
、p.joinpath(p.parents[0: 'known_index'+1])
或其他任何操作是最pythonic的。
更新:
我用元组解包成功加入到第n个print(p.joinpath(*p.parts[0:5]))
,有没有更好的方法,我仍然没有达到上述替代案例的目标。
更新:
我找到了 'Alternative' 案例的选项 print(p.joinpath(*p.parts[0: p.parts.index('PCB_236_237_ARM')+2]))
我现在正在寻找最pythonic的方式。
这对我来说看起来足够 pythonic:
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
自己的路径。
我正在尝试使用 Pathlib 并试图找出是否有一种简单的方法来执行以下操作 - 我有一组路径,我想从中提取前 4 个 parents,并且将这 4 个加入一条路径。
或者(如果可能)我想加入所有 parent 直到 parent 通过给定的,例如 c://d1//d2//known//d4//...
这里我想提取最多 //d4
,即 parent 紧跟在 'known' parent.
我知道我可以遍历这些部分并连接到第 n 个部分,但我想知道是否有一种方法可以执行以下 p.joinpath(p.parents[0:4])
、p.joinpath(p.parents[0: 'known_index'+1])
或其他任何操作是最pythonic的。
更新:
我用元组解包成功加入到第n个print(p.joinpath(*p.parts[0:5]))
,有没有更好的方法,我仍然没有达到上述替代案例的目标。
更新:
我找到了 'Alternative' 案例的选项 print(p.joinpath(*p.parts[0: p.parts.index('PCB_236_237_ARM')+2]))
我现在正在寻找最pythonic的方式。
这对我来说看起来足够 pythonic:
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
自己的路径。