[Python-ideas] Working with Path objects: p-strings?
Michel Desmoulin
desmoulinmichel at gmail.com
Tue Mar 29 05:43:13 EDT 2016
Le 29/03/2016 09:50, Sven R. Kunze a écrit :
> On 25.03.2016 22:56, Michel Desmoulin wrote:
>> Although path.py, which I have been using for years now (and still
>> prefer to pathlib) subclass str and never caused any problem whatsoever.
>> So really, we should pinpoint where it could be an issue and see if this
>> is a frequent problem, because right now, it seems more a decision based
>> on purity than practicality.
>
> I agree. The PEP says:
>
> """
> No confusion with builtins
> ----------------------------------
> In this proposal, the path classes do not derive from a builtin type.
> This contrasts with some other Path class proposals which were derived
> from str . They also do not pretend to implement the sequence protocol:
> if you want a path to act as a sequence, you have to lookup a dedicated
> attribute (the parts attribute).
>
> Not behaving like one of the basic builtin types also minimizes the
> potential for confusion if a path is combined by accident with genuine
> builtin types.
> """"
>
> I have to admit I cannot follow these statements but they should have
> appeared to be necessary back then. As experience shows the PyPI module
> fared far better here.
>
>
> I am great a fan of theory over practice as what has been proven in
> theory cannot be proven wrong in practice. However, this only holds if
> we talk about hard proof. For soft things like "human interaction",
> "mutual understanding" or "potential for confusion", only the practice
> of many many people can "prove" what's useful, what's "practical".
>
>
+1. Can somebody defend, with practical examples, the imperative to
refuse to inherit from str ? And weight it against the benefits of it ?
We have been doing it for years, and so far it's been really, really
nice. I can't recall problem I had because of it ever. I can recall
numerous editions of my code because I forgot str() on pathlib.Path.
> Best,
> Sven
>
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
More information about the Python-ideas
mailing list