Limitation of os.walk
Terry Reedy
tjreedy at udel.edu
Wed May 12 23:29:11 EDT 2010
On 5/12/2010 2:52 PM, kj wrote:
> In<mailman.86.1273631889.32709.python-list at python.org> Tim Chase writes:
>> 05/11/2010 09:07 PM, Terry Reedy wrote:
>>> If os.walk were rewritten, it should be as an iterator (generator).
>>> Directory entry and exit functions could still be added as params.
>
>> It *is* an iterator/generator. However, I suspect you mean that
>> it should slurp the dirs/files iteratively instead of using
>> listdir() as was discussed on c.l.p a few months back.
Yes, I was thinking of that thread.
>
> Thanks for mentioning this thread. Very interesting stuff. Apropos
> the implementability of an iterative listdir, I wonder if some
> variation of glob.iglob() would fit the bill. (Maybe it's too
> slow, though.)
>
>> I suspect if I thought about it much longer, only one would
>> really be needed, the other accommodated by the "topdown" parameter.
>
> Yeah, I think one only needs a post hook. The fact that it's a
> generator obviates need for a pre hook, since the yield returns
> control to the calling function right around where the pre-hook
> would run anyway. For the same reason, the post hook is needed
> only for the case topdown=True.
Once you have determined and tested the minimal needed change for
greater functionality, you could either
a) post a suggestion and the revised os.walk to python-ideas
b) submit a feature request to the tracker and attach the revised
function and, if possible, a diff patch
c) both.
I have no idea of the response.
Terry Jan Reedy
More information about the Python-list
mailing list