[Python-Dev] pathlib - current status of discussions (original) (raw)

Koos Zevenhoven k7hoven at gmail.com
Tue Apr 12 12:32:13 EDT 2016


On Tue, Apr 12, 2016 at 7:19 PM, Chris Barker <chris.barker at noaa.gov> wrote:

One more though came up just now: there are different level sof abstractions and representations for paths. We don't want to make Path a subclass of string, because Path is supposed to be a higher level abstraction -- good. then at the bottom of the stack, we NEED the bytes level path, because that what ultimately gets passed to the OS. THe legacy from the single-byte encoding days is that bytes and strings were the same, so we could let people work with nice human readable strings, while also working with byte paths in the same way -- but those days are gone -- py3 make s clear (and important) distiction between nice human readable strings and the bytes that represent them. So: why use strings as the lingua franca of paths? i.e. the basis of the path protocol. maybe we should support only two path representations: 1) A "proper" path object -- i.e. pathlib.Path or anything else that supports the path protocol. 2) the bytes that the OS actually needs.

You do have a point there. But since bytes pathnames are deprecated on windows, this seems to lead to supporting both str and bytes in the protocol, or having two protocols fspathbytes and fspathstr (and one being preferred over the other, potentially even depending on the platform).,

-Koos



More information about the Python-Dev mailing list