os.path.commonprefix的反向操作

12 投票
1 回答
1119 浏览
提问于 2025-04-17 08:29

os.path.commonprefix的反义词是什么?我有两个路径,想要找出它们不重叠的部分,比如:

>>> p1 = '/Users/foo/something'
>>> p2 = '/Users/foo/something/else/etc'
>>> print somefunction([p1, p2])
'/else/etc'

1 个回答

16
>>> p1 = '/Users/foo/something'
>>> p2 = '/Users/foo/something/else/etc'
>>> os.path.relpath(p2, start=p1)
'else/etc'

正确的写法是 'else/etc',而不是 '/else/etc'

如果你在 p1 这个地方,输入 cd /else/etc,你不会到达 p2,而是会去到其他地方。

使用 os.path.join(p1, 'else/etc') 你又会回到 p2。

撰写回答