Speed up pathlib.Path.iterdir()
by using os.scandir()
#117727
Labels
pathlib.Path.iterdir()
by using os.scandir()
#117727
Uh oh!
There was an error while loading. Please reload this page.
We should be able to call
os.scandir()
frompathlib.Path.iterdir()
and construct results based on theos.DirEntry.path
string.Currently we call
os.listdir()
and_make_child_relpath()
, which returns a fully parsed/normalized string; particularly, it sets_str
,_drv
,_root
and_tail_cached
.It's probably not worth the expense of setting
_drv
,_root
and_tail_cached
- they're only useful when paths are subsequently deconstructed withPurePath
methods, which isn't particularly common. It is worth setting_str
, and happilyos.DirEntry.path
provides a string that's very nearly normalized to pathlib's standards.Also discussed here: https://discuss.python.org/t/is-there-a-pathlib-equivalent-of-os-scandir/46626/21
Linked PRs
pathlib.Path.iterdir()
by usingos.scandir()
#117728The text was updated successfully, but these errors were encountered: