所以我有这个python代码:

print os.path.commonprefix([r'C:\root\dir',r'C:\root\dir1'])

真实结果
C:\root\dir

想要的结果
C:\root

问题 1

基于 os.path.commonprefix 文档:
返回最长路径前缀(逐字符取)

是否有类似的功能:
返回最长路径前缀( 由 dir 获取的目录)

问题2

如果 commonprefixos.path 中实现,为什么它不是面向路径的,这意味着返回我想要的结果而不是真正的结果?

笔记:

我可以自己轻松地实现这一点,但如果它已经实现了为什么不使用它呢?

最佳答案



不,是的。 commonprefix() 可以处理任意序列,而不仅仅是字符串。

将路径拆分为组件并在其上调用 commonprefix() 例如:

>>> import os
>>> from pathlib import PureWindowsPath
>>> a, b = map(PureWindowsPath, [r'C:\root\dir', r'C:\root\dir1'])
>>> PureWindowsPath(*os.path.commonprefix([a.parts, b.parts]))
PureWindowsPath('C:/root')

关于Python os.path.commonprefix - 是否有面向路径的功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27885694/

10-12 20:10