[Python-Dev] Bytes path support

Ben Hoyt benhoyt at gmail.com
Tue Aug 19 19:31:54 CEST 2014


> The official policy is that we want them [support for bytes paths in stdlib functions] to go away, but reality so far has not budged. We will continue to hold our breath though. :-)

Does that mean that new APIs should explicitly not support bytes? I'm
thinking of os.scandir() (PEP 471), which I'm implementing at the
moment. I was originally going to make it support bytes so it was
compatible with listdir, but maybe that's a bad idea. Bytes paths are
essentially broken on Windows.

-Ben

> On Tue, Aug 19, 2014 at 1:37 AM, Serhiy Storchaka <storchaka at gmail.com> wrote:
>>
>> Builting open(), io classes, os and os.path functions and some other functions in the stdlib support bytes paths as well as str paths. But many functions doesn't. There are requests about adding this support ([1], [2]) in some modules. It is easy (just call os.fsdecode() on argument) but I'm not sure it is worth to do. Pathlib doesn't support bytes path and it looks intentional. What is general policy about support of bytes path in the stdlib?
>>
>> [1] http://bugs.python.org/issue19997
>> [2] http://bugs.python.org/issue20797


More information about the Python-Dev mailing list