[Python-Dev] A wart which should have been repaired in 3.0?
Phillip J. Eby
pje at telecommunity.com
Wed Dec 31 05:08:04 CET 2008
At 09:30 PM 12/30/2008 -0500, rdmurray at bitdance.com 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.
More information about the Python-Dev
mailing list