如何找到两个目录之间的相对路径?

13

我想找出系统中两个目录之间的相对路径。

例:

如果有 pathA == <pathA>pathB == <pathA>/dir1/dir2,它们之间的相对路径将是dir1/dir2

我该如何在Python中找到它?是否有工具可以使用?

如果 pathB 不包含在 pathA 中,我该怎么办?如果 pathB 不包含在 pathA 中,我该怎么办?


@mescalinum 这篇帖子的答案是Pythonic的,但问题是针对Bash的。 - vmonteco
那个问题的最佳答案是用Python编写的。 - fferri
是的,那就是我说的,但不是问题所在。 - vmonteco
但现在有些帖子几乎是相同的,我同意。就像这个https://dev59.com/G2w05IYBdhLWcg3wXAqF,我之前没有找到过。 - vmonteco
2个回答

17

os.path.relpath(path1, path2) # 就是这样


谢谢,这正是我所需要的。 :) - vmonteco
我已经尝试过了,但我仍然需要等待4分钟。 :) - vmonteco

3

只需使用os模块的relpath()函数。

import os

os.path.relpath(pathA, pathB)

根据文档
os.path.relpath(path[, start])
返回从当前目录或可选起始目录到路径的相对文件路径。这是一种路径计算:不会访问文件系统以确认路径或起始目录的存在或性质。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接