在Python 3中,我使用
如何获取从
理想情况下,我希望有一个名为
请注意,在这种情况下,
如何实现
pathlib
定义了两个路径,比如说:from pathlib import Path
origin = Path('middle-earth/gondor/minas-tirith/castle').resolve()
destination = Path('middle-earth/gondor/osgiliath/tower').resolve()
如何获取从
origin
到destination
的相对路径?在这个例子中,我想要一个返回../../osgiliath/tower
或等效路径的函数。理想情况下,我希望有一个名为
relative_path
的函数,它始终满足以下条件:origin.joinpath(
relative_path(origin, destination)
).resolve() == destination.resolve()
请注意,在这种情况下,
Path.relative_to
是不够的,因为 origin
不是 destination
的父目录。另外,我没有使用符号链接,所以可以假设不存在符号链接,如果这样简化问题的话。如何实现
relative_path
?