[Python-ideas] tweaking the file system path protocol
Wolfgang Maier
wolfgang.maier at biologie.uni-freiburg.de
Mon May 29 04:03:44 EDT 2017
On 05/29/2017 09:55 AM, Serhiy Storchaka wrote:
> 29.05.17 00:33, Wolfgang Maier пише:
>> The path protocol does *not* use __fspath__ as an indicator that an
>> object's str-representation is intended to be used as a path. If you
>> had wanted this, the PEP should have defined __fspath__ not as a
>> method, but as a flag and have the protocol check that flag, then call
>> __str__ if appropriate.
>
> __fspath__ is a method because there is a need to support bytes paths.
> __fspath__() can return a bytes object, str() can't.
>
That's certainly one reason, but again just shows that calling
str(path_object) to get a path representation is wrong.
More information about the Python-ideas
mailing list