gpt4 book ai didi

python - 是否有用于在另一条路径中查找一条路径的补充的 pathlib 方法?

转载 作者:行者123 更新时间:2023-12-04 13:32:43 25 4
gpt4 key购买 nike

给定两个 Python Pathlib 路径,其中一个是另一个(未知深度)的后缀,

x = Path("/a/b/c/d/e.ext")
y = Path("d/e.ext")
是否有一种“不错”的方法可以找到 y 的补码?在 x ? IE。找:
z = Path("/a/b/c")
我在想可能是 relative_to() 的一种逆方法,但无法在文档或其他 SO 问题中找到合适的内容。
目前,我可以执行以下任一操作,但它们的可读性不是很好:
z = Path(*x.parts[:-len(y.parts)])
z = Path(str(x)[:-len(str(y))])
谢谢!

最佳答案

您可以将两个路径都转换为 str并删除子路径以检索补码:

>>> from pathlib import Path
>>> x = Path("/a/b/c/d/e.ext")
>>> y = Path("d/e.ext")

>>> Path(str(x).replace(str(y), ""))
PosixPath('/a/b/c')
如果子路径不在路径中,它将保持路径不变。

关于python - 是否有用于在另一条路径中查找一条路径的补充的 pathlib 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64114236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com