[Python-Dev] Updates to PEP 471, the os.scandir() proposal

Walter Dörwald walter at livinglogic.de
Wed Jul 9 16:41:44 CEST 2014


On 8 Jul 2014, at 15:52, Ben Hoyt wrote:

> Hi folks,
>
> After some very good python-dev feedback on my first version of PEP
> 471, I've updated the PEP to clarify a few things and added various
> "Rejected ideas" subsections. Here's a link to the new version (I've
> also copied the full text below):
>
> http://legacy.python.org/dev/peps/pep-0471/ -- new PEP as HTML
> http://hg.python.org/peps/rev/0da4736c27e8 -- changes
>
> [...]
> Rejected ideas
> ==============
>
> [...]
> Return values being pathlib.Path objects
> ----------------------------------------
>
> With Antoine Pitrou's new standard library ``pathlib`` module, it
> at first seems like a great idea for ``scandir()`` to return instances
> of ``pathlib.Path``. However, ``pathlib.Path``'s ``is_X()`` and
> ``lstat()`` functions are explicitly not cached, whereas ``scandir``
> has to cache them by design, because it's (often) returning values
> from the original directory iteration system call.
>
> And if the ``pathlib.Path`` instances returned by ``scandir`` cached
> lstat values, but the ordinary ``pathlib.Path`` objects explicitly
> don't, that would be more than a little confusing.
>
> Guido van Rossum explicitly rejected ``pathlib.Path`` caching lstat in
> the context of scandir `here
> <https://mail.python.org/pipermail/python-dev/2013-November/130583.html>`_,
> making ``pathlib.Path`` objects a bad choice for scandir return
> values.

Can we at least make sure that attributes of DirEntry that have the same 
meaning as attributes of pathlib.Path have the same name?

> [...]

Servus,
    Walter


More information about the Python-Dev mailing list