diff --git a/Lib/os.py b/Lib/os.py index 2c7d9548646..ed2a31e8813 100644 --- a/Lib/os.py +++ b/Lib/os.py @@ -294,8 +294,7 @@ def walk(top, topdown=True, onerror=None, followlinks=False): for name in dirs: new_path = join(top, name) if followlinks or not islink(new_path): - for x in walk(new_path, topdown, onerror, followlinks): - yield x + yield from walk(new_path, topdown, onerror, followlinks) if not topdown: yield top, dirs, nondirs @@ -339,8 +338,7 @@ def fwalk(top, topdown=True, onerror=None, followlinks=False): try: if (followlinks or (st.S_ISDIR(orig_st.st_mode) and path.samestat(orig_st, fstat(topfd)))): - for x in _fwalk(topfd, top, topdown, onerror, followlinks): - yield x + yield from _fwalk(topfd, top, topdown, onerror, followlinks) finally: close(topfd) @@ -377,8 +375,7 @@ def _fwalk(topfd, toppath, topdown, onerror, followlinks): try: if followlinks or path.samestat(orig_st, fstat(dirfd)): dirpath = path.join(toppath, name) - for x in _fwalk(dirfd, dirpath, topdown, onerror, followlinks): - yield x + yield from _fwalk(dirfd, dirpath, topdown, onerror, followlinks) finally: close(dirfd)