所以我有这个python代码:
print os.path.commonprefix([r'C:\root\dir',r'C:\root\dir1'])
真实结果
C:\root\dir
想要的结果
C:\root
问题 1
基于
os.path.commonprefix
文档:返回最长路径前缀(逐字符取)
是否有类似的功能:
返回最长路径前缀( 由 dir 获取的目录)
问题2
如果
commonprefix
在 os.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/