[issue11406] There is no os.listdir() equivalent returning generator instead of list
Ben Hoyt
report at bugs.python.org
Thu May 2 09:48:41 CEST 2013
Ben Hoyt added the comment:
Ah, this is great. I definitely like the idea of a generator version of os.listdir(). And I like the name iterdir() -- it fits with iteritems() etc. They've gone in 3.x, of course, but listdir didn't change to an iterator, so...
See also Betterwalk, my work-in-progress with very similar goals: https://github.com/benhoyt/betterwalk#readme
It implements iterdir(), as well as iterdir_stat() which yields (name, stat) tuples. iterdir_stat() is especially important on Windows, where the directory iteration functions (FindFirstFile/FindNextFile) already give you full stat information.
The intent of Betterwalk is to use these functions to speed up os.walk() by 2-3 times (and that's with the ctypes version, so it'll only get better in pure C).
So I'm +1 for adding iterdir(), and I'd love to see iterdir_stat() so users can write fast os.walk() type functions without resorting to C.
I'll look over the attached patches at some stage, especially the Windows code.
----------
nosy: +benhoyt
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue11406>
_______________________________________
More information about the Python-bugs-list
mailing list