所以我有这个python代码:
print os.path.commonprefix([r'C:\root\dir',r'C:\root\dir1'])
C:\root\dir
C:\root
基于os.path.commonprefix
文档:
返回最长的路径前缀(逐个字符)
是否有类似的功能:
返回最长的路径前缀( dir by dir )
如果在commonprefix
中实现了os.path
,为什么它不是面向路径的,这意味着返回我想要的结果而不是真实结果?
我可以自己轻松实现,但如果已经实现了,为什么不使用它?
答案 0 :(得分:3)
不,是的。是否有面向路径的功能?
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')