On 05/11/2016 02:28 PM, Nikolaus Rath wrote:
On May 11 2016, Brett Cannon wrote:

This PEP proposes a protocol for classes which represent a file system
path to be able to provide a ``str`` or ``bytes`` representation.
[...]

As I said before, to me this seems like a lot of effort for a very
specific use-case. So let me put forward two hypothetical scenarios to
better understand your position:

- A new module for URL handling is added to the standard library (or
   urllib is suitably extended). There is a proposal to add a new
   protocol that allows classes to provide a ``str`` or ``bytes``
   representation of URLs.

- A new (third-party) library for natural language processing arises
   that exposes a specific class for representing audio data. Existing
   language processing code just uses bytes objects. To ease transition
   and interoperability, it is proposed to add a new protocol for classes
   that represend audio data to provide a bytes representation.

Do you think you would you be in favor of adding these protocols to
the stdlib/languange reference as well? If not, what's the crucial
difference to file system paths?

I think a crucial reason for this work is to unify the stdlib: we currently have four (?) different things that can be or represent a file-system path:

- str
- bytes
- DirEntry
- Path

Half of those objects don't work well with the rest of the standard library.

As for your second example, the protocol already exists: it's called __bytes__. ;)

--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to