GH-78722: Raise exceptions from pathlib.Path.iterdir() without delay. (#107320)

`pathlib.Path.iterdir()` now immediately raises any `OSError`
exception from `os.listdir()`, rather than waiting until its
result is iterated over.
This commit is contained in:
Barney Gale 2023-09-02 16:08:03 +01:00 committed by GitHub
parent 594b00057e
commit bdc3c884cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 3 deletions

View file

@ -1009,8 +1009,7 @@ class Path(PurePath):
The children are yielded in arbitrary order, and the
special entries '.' and '..' are not included.
"""
for name in os.listdir(self):
yield self._make_child_relpath(name)
return (self._make_child_relpath(name) for name in os.listdir(self))
def _scandir(self):
# bpo-24132: a future version of pathlib will support subclassing of