[Python-Dev] Pathlib enhancments - method name only

Nick Coghlan ncoghlan at gmail.com
Sun Apr 10 03:36:36 EDT 2016


On 10 April 2016 at 17:12, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
> Nick Coghlan wrote:
>>
>> Similar to my proposal for dealing with DirEntry.path being a
>> bytes-like object, I'd like to suggest raising TypeError in __fspath__
>> if the request is nonsensical for the currently running system - *nix
>> systems can *manipulate* Windows paths (and vice-versa), but actually
>> trying to *use* them with the local filesystem isn't going to work
>> properly, since the syntax and semantics are different.
>
>
> That sounds reasonable, since it would be preferable to
> fail early if you mistakenly pass a PureWindowsPath to
> e.g. open().
>
> But there needs to be some way to ask a path object for
> its native string representation, otherwise there would
> be no point in using foreign path objects at all.

In addition to the existing "str(pathobj)", a "path" property was
recently added for that purpose:

   >>> import pathlib
   >>> pathlib.PureWindowsPath(".")
   PureWindowsPath('.')
   >>> pathlib.PureWindowsPath(".").path
   '.'

(The specific property name was chosen to match os.scandir's DirEntry.path)

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-Dev mailing list