我认为这应该是可行的,因为有一个很好的函数canonicalize
可以规范化路径(所以我可以从规范化我的两个输入路径开始),而Path
和PathBuf
为我们提供了一种迭代路径部分到components
的方法.我想这里可以解决一些问题,找出一个公共前缀,然后将锚路径中剩余的..
个组件预先添加到初始输入路径的剩余部分.
我的问题似乎很常见:
我认为这应该是可行的,因为有一个很好的函数canonicalize
可以规范化路径(所以我可以从规范化我的两个输入路径开始),而Path
和PathBuf
为我们提供了一种迭代路径部分到components
的方法.我想这里可以解决一些问题,找出一个公共前缀,然后将锚路径中剩余的..
个组件预先添加到初始输入路径的剩余部分.
我的问题似乎很常见:
现在,它以pathdiff
crate 的形式存在,使用kennytm's answer中的代码
您可以将其用作:
extern crate pathdiff;
pathdiff::diff_paths(path, base);
其中base
是应用相对路径以获得path
的位置