[Python-Dev] Re: os.path.commonprefix breakage

Fred L. Drake, Jr. fdrake@beopen.com
Thu, 17 Aug 2000 00:11:44 -0400 (EDT)


Skip Montanaro writes:
 > I'm sure it can be argued that the slash should be there.  The previous
 > behavior was clearly broken, however, because it was advancing
 > character-by-character instead of directory-by-directory.  Consequently,
 > calling 
 > 
 >     os.path.commonprefix(["/home/swen", "/home/swenson"])
 > 
 > would yield the most likely invalid path "/home/sw" as the common prefix.

  You have a typo in there... ;)

 > It would be easy enough to append the appropriate path separator to the the
 > result before returning.  I have no problem with that.  Others with more
 > knowledge of path semantics should chime in.  Also, should the behavior be

  I'd guess that the path separator should only be appended if it's
part of the passed-in strings; that would make it a legitimate part of
the prefix.  If it isn't present for all of them, it shouldn't be part
of the result:

>>> os.path.commonprefix(["foo", "foo/bar"])
'foo'


  -Fred

-- 
Fred L. Drake, Jr.  <fdrake at beopen.com>
BeOpen PythonLabs Team Member