On 12 October 2012 20:39, Georg Brandl <email@example.com> wrote:
Am 12.10.2012 18:27, schrieb Ethan Furman:
> Georg Brandl wrote:"no attribute 'path'"? Not sure where that exception comes from.
>> Am 12.10.2012 14:45, schrieb Blake Hyde:
>>> I'm a Python developer rather than a developer of Python, but I'd like to ask a
>>> question about this option (and implicitly vote against it, I suppose); if you
>>> specialize a method name, such as .pathjoin, aren't you implying that methods
>>> must be unambiguous even across types and classes? This seems negative. Even
>>> if .join is already used for strings, it also makes sense for this use case.
>> Of course different classes can have methods of the same name.
>> The issue here is that due to the similarity (and interchangeability) of path
>> objects and strings it is likely that people get them mixed up every now and
>> then, and if .join() works on both objects the failure mode (strange result
>> from str.join when you expected path.join) is horribly confusing.
> I don't understand the "horribly confusing" part. Sure, when I got them
> mixed up and ended up with a plain ol' string instead of a really cool
> Path it took a moment to figure out where I had made the error, but the
> traceback of "AttributeError: 'str' object has no attribute 'path'" left
> absolutely no room for confusion as to what the problem was.
This is what I meant:
>>> p = Path('/usr')
>>> p = '/usr'