Phillip J. Eby wrote:
At 09:30 PM 12/30/2008 -0500, firstname.lastname@example.org wrote:
On Tue, 30 Dec 2008 at 17:51, Phillip J. Eby wrote:
At 02:32 PM 12/30/2008 -0800, Scott David Daniels wrote:
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'.
...because that's the correct answer.
But not the answer that is wanted.
So the challenge now is to write a single expression that will yield '/a/b' when passed the above paths list, and also produce '/a/b' when passed the following paths list:
paths = ['/a/b/c', '/a/b/cd']
Change that to [os.path.normpath(p)+'/' for p in paths] and you've got yourself a winner.
Or possibly [os.path.normpath(p)+os.path.sep for p in paths]?