[Python-Dev] proposed os.fspath() change (original) (raw)

Koos Zevenhoven k7hoven at gmail.com
Wed Jun 15 15:24:43 EDT 2016


On Wed, Jun 15, 2016 at 10:15 PM, Brett Cannon <brett at python.org> wrote:

On Wed, 15 Jun 2016 at 12:12 Koos Zevenhoven <k7hoven at gmail.com> wrote:

>> if isinstance(filename, os.PathLike): By the way, regarding the line of code above, is there a convention regarding whether implementing some protocol/interface requires registering with (or inheriting from) the appropriate ABC for it to work in all situations. IOW, in this case, is it sufficient to implement fspath to make your type pathlike? Is there a conscious trend towards requiring the ABC? ABCs like os.PathLike can override subclasshook so that registration isn't required (see https://hg.python.org/cpython/file/default/Lib/os.py#l1136). So registration is definitely good to do to be explicit that you're trying to meet an ABC, but it isn't strictly required.

Ok I suppose that's fine, so I propose we update the ABC part in the PEP with subclasshook.

And the other question could be turned into whether to make str and bytes also PathLike in subclasshook.

-- Koos

--



More information about the Python-Dev mailing list