[Python-ideas] find-like functionality in pathlib
Erik
python at lucidity.plus.com
Tue Dec 22 19:53:10 EST 2015
On 23/12/15 00:23, Guido van Rossum wrote:
> So, perhaps the pathlib.Path class needs to have some way to take in a
> DirEntry produced by os.scandir() and a flag to allow it to cache stat()
> results? Then we could easily write a pathlib.walk() function that's
> like os.walk() but returning caching Path objects.
Yes please. I raised this recently in a thread that died (but with no
negative responses - see below). I started looking at the various
modules to try to bring the whole thing together into a reasonable
proposal, but it was just a can of worms (glob, fnmatch, pathlib,
os.scandir, os.walk, os.fwalk, fts ...). I'm afraid I don't have the
free cycles to try to tackle that, so I ducked out. It would be great if
all of that could be somehow brought together into a cohesive filesystem
module.
On 27/11/15 13:49, Eric Fahlgren wrote:
>> -----Original Message----- From: Erik
[snip]
>> So, I'd like to suggest an os.walk()-like API that returns the
>> os.scandir() DirEntry structures rather than names (*). I have my
>> own local version that's just a copy of os.walk() that appends
>> "entry" rather than "entry.name" to the returned lists, but that's
>> a nasty way of achieving this.
>>
>> How to do it -
>>
>> os.walk() "direntries=True" keyword? os.walkentries() function?
>> Something else better than those?
>
> "walk" + "scandir" = "walkdir"???
>
> I'm definitely +1 on this, as it is fresh on my mind, too. I just
> converted our build tools over to use a homebrew walk as you did, and
> now use DirEntry instead of path names almost exclusively.
>
> EricF
E.
More information about the Python-ideas
mailing list