From: Victor Stinner Date: Thu, 12 Mar 2015 08:12:48 +0000 (+0100) Subject: Issue #23605: os.walk() doesn't need to call entry.is_symlink() if followlinks X-Git-Tag: v3.5.0a3~200 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=411bf641d3b820aa5e55718d5c5770543fa32255;p=python Issue #23605: os.walk() doesn't need to call entry.is_symlink() if followlinks is True --- diff --git a/Lib/os.py b/Lib/os.py index 8e325e3367..a9a57e0bdc 100644 --- a/Lib/os.py +++ b/Lib/os.py @@ -374,7 +374,10 @@ def walk(top, topdown=True, onerror=None, followlinks=False): if is_dir: dirs.append(entry.name) + else: + nondirs.append(entry.name) + if is_dir and not followlinks: try: if entry.is_symlink(): symlinks.add(entry.name) @@ -383,8 +386,6 @@ def walk(top, topdown=True, onerror=None, followlinks=False): # entry is not a symbolik link, same behaviour than # os.path.islink(). pass - else: - nondirs.append(entry.name) except OSError as error: # scandir() or iterating into scandir() iterator raised an OSError if onerror is not None: