[Python-Dev] os.path.join failure mode
Nick Coghlan
ncoghlan at gmail.com
Sat Feb 9 14:53:55 CET 2013
On Sat, Feb 9, 2013 at 11:31 PM, R. David Murray <rdmurray at bitdance.com> wrote:
> The reason we avoid such type checks is that we prefer to operate via
> "duck typing", which means that if an object behaves like the expected
> input, it is accepted. Here, if we did an explicit type check for str,
> it would prevent join from working on an "act alike" object that had
> just enough str like methods to work correctly in os.join (for example,
> some specialized object that was among other things a filename proxy).
> Granted, this is pretty far-fetched for os.path.join, but the general
> principle applies :)
I occasionally ponder the possibility of a time where we have a
string.Text ABC, and can stop hardcoding checks for isinstance(str)
everywhere :P
(No, I'm not volunteering to write it. And if anyone does want to
discuss it further, please start a new thread on python-ideas, as
python-dev isn't the right venue)
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Python-Dev
mailing list