[Python-ideas] os.path.abspath - optional startdir argument
Wolfgang Maier
wolfgang.maier at biologie.uni-freiburg.de
Fri Jul 25 13:31:27 CEST 2014
On 25.07.2014 12:12, Serhiy Storchaka wrote:
> 25.07.14 00:32, Wolfgang Maier написав(ла):
>> On 24.07.2014 21:24, Serhiy Storchaka wrote:
>>> 24.07.14 16:45, Wolfgang Maier написав(ла):
>> I'm not saying, this is a must-have in Python. I don't have a problem
>> with sticking to normpath, just thought it's a tiny change giving some
>> benefit in readability.
>
> To me explicit well known join() and normpath() are more readable then
> unexpected second argument to abspath().
>
Ok, I just seem to think differently than all of you. whenever I need
this functionality (and just like for the stdlib, it's less often than
regular abspath), I think: oh, this must be addressable with abspath,
then after a moment I realize there is no start option like in relpath.
Then I consult the docs where I find this for abspath:
"Return a normalized absolutized version of the pathname path. On most
platforms, this is equivalent to calling the function normpath() as
follows: normpath(join(os.getcwd(), path))."
From which the solution is apparent.
Never have I thought first, ah, that's a job for normpath. Maybe that's
because I can't remember a single case where I used normpath for
anything else in my code, so I'm kind of thinking about normpath as a
low-level function needed a lot in os.path, but typically not needed
much outside of it because there are higher-level functions like abspath
that do the normalization in the background.
It's interesting to learn that I seem to be quite alone with this view,
but that's ok, I'm sure it will help me remember normpath next time :)
> Not every one-line function should be added to the stdlib. And I found
> only 10 usages of normpath(join()) combination in Python source three
> (including 4 in tests and 4 in PC build script, therefore only 2 in the
> stdlib itself) against 205 usages of abspath().
>
More information about the Python-ideas
mailing list