In projects I work on I constantly end up creating something like: abspath = lambda *p: os.path.abspath(os.path.join(*p)) This could be easily avoided by allowing abspath to accept multiple arguments. This would be: 1. Backward compatibile (calls with single argument would remain the same) 2. Very simple to fix (just join given path parts before doing anything else) I can document this, do most of the coding and test on Mac and linux, however would not be able to test on other platforms. Let me know if this is acceptable. Attaching a diff with posixpath update.
I'm -1 on this. It doesn't make sense to me to conflate two functions like that. If you need that functionality often in your application, just write a small helper function.
Would you expect to make the following also accept a sequence of path elements? - normpath, realpath, relpath - dirname - exists, lexists - expanduser, expandvars - isdir, isfile, islink - getsize, etc. I agree with R. David's sentiment. Moreover, relpath takes an optional second argument which would make this change backward incompatible.