On 07/14/2014 07:48 PM, Ben Hoyt wrote:
In any case, here's the modified proposal: scandir(path='.') -> generator of DirEntry objects, which have: * name: name as per listdir() * full_name: full path name (not necessarily absolute), equivalent of os.path.join(path, entry.name) * is_dir(follow_symlinks=True): like os.path.isdir(entry.full_name), but free in most cases; cached per entry * is_file(follow_symlinks=True): like os.path.isfile(entry.full_name), but free in most cases; cached per entry * is_symlink(): like os.path.islink(), but free in most cases; cached per entry * stat(follow_symlinks=True): like os.stat(entry.full_name, follow_symlinks=follow_symlinks); cached per entry The above may not be quite perfect, but it's good, and I think there's been enough bike-shedding on the API. :-)
Looks doable. Just make sure the cached entries reflect the 'follow_symlinks' setting -- so a symlink could end up with both an lstat cached entry and a stat cached entry.
-- ~Ethan~ _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com