Path PEP: What should Path(None) do?
Peter Hansen
peter at engcorp.com
Mon Jul 25 11:32:09 EDT 2005
Michael Hoffman wrote:
> Currently it returns Path('None'). This means I have to do a check on
> input before pathifying it to make sure it is not None.
>
> Perhaps it should throw ValueError?
Without checking, I suspect it is merely doing str(x) or unicode(x) on
whatever is passed to it:
>>> path(None)
path(u'None')
>>> path(object())
path(u'<object object at 0x00AAB438>')
>>> path(3.14159)
path(u'3.14159')
Therefore I think the question should be broadened beyond just None.
Should Path(x) simply call str(x) on the object or should it raise
ValueError or TypeError or something if it's not a basestring?
Given that pretty much *everything* in Python can have str() called on
it, I think we should ask for a modicum of type-safety here and reject
non-strings as input.
-Peter
More information about the Python-list
mailing list