Paul Moore wrote:
2008/12/30 Phillip J. Eby email@example.com:
You know, all this path separator and list complication isn't really necessary, when you can just take the os.path.dirname() of the return from commonprefix()....
Actually, consider: ...
... I'm not sure how to deal with this, except by recommending that all paths passed to os.path.commonprefix should at the very least be normalised via os.path.normpath first - which starts to get clumsy fast. So the "recommended" usage to get the common directory is
paths = [...] common = os.path.dirname(os.path.commonprefix([ os.path.normpath(p) for p in paths]))
More trouble with the "just take the dirname":
paths = ['/a/b/c', '/a/b/d', '/a/b'] os.path.dirname(os.path.commonprefix([ os.path.normpath(p) for p in paths]))
give '/a', not '/a/b'.
--Scott David Daniels Scott.Daniels@Acm.Org