Pathlib - 加入n个父母

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pathlib - 加入n个父母相关的知识,希望对你有一定的参考价值。

我正在玩Pathlib并试图找出是否有一个简单的方法来执行以下操作 - 我有一组路径,我想从中提取前4个父项,并将这4个加入路径。

或者(如果可能的话)我想加入所有父母直到父母通过一个给定的父母,例如,c://d1//d2//known//d4//...在这里我想提取到//d4,即刚刚在'已知'父母之后的父母。

我知道我可以循环部分并加入到第n个,但我想知道是否有办法做类似下面的p.joinpath(p.parents[0:4])p.joinpath(p.parents[0: 'known_index'+1])或任何最pythonic。

更新:

我设法加入第n个元组解包print(p.joinpath(*p.parts[0:5])),是否有一种首选方式,我仍然无法实现上述替代案例的目标。

更新:

我找到了“替代”案例print(p.joinpath(*p.parts[0: p.parts.index('PCB_236_237_ARM')+2]))的选项

我现在正在寻找最蟒蛇的方式。

答案

这看起来像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 - 加入n个父母的主要内容,如果未能解决你的问题,请参考以下文章

从片段中调用父母的活动

在多个父母中选择第 n 个孩子

如何使用 Pathlib 检查文件夹/文件权限

python笔记72 - 使用pathlib替代os.path

Django加入 - 我需要父母和子桌的所有领域

IllegalStateException,指定的孩子已经有一个父母 - ListFragment