Issue #23605: os.walk() doesn't need to call entry.is_symlink() if followlinks
is True
This commit is contained in:
parent
91427733ea
commit
411bf641d3
|
@ -374,7 +374,10 @@ def walk(top, topdown=True, onerror=None, followlinks=False):
|
||||||
|
|
||||||
if is_dir:
|
if is_dir:
|
||||||
dirs.append(entry.name)
|
dirs.append(entry.name)
|
||||||
|
else:
|
||||||
|
nondirs.append(entry.name)
|
||||||
|
|
||||||
|
if is_dir and not followlinks:
|
||||||
try:
|
try:
|
||||||
if entry.is_symlink():
|
if entry.is_symlink():
|
||||||
symlinks.add(entry.name)
|
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
|
# entry is not a symbolik link, same behaviour than
|
||||||
# os.path.islink().
|
# os.path.islink().
|
||||||
pass
|
pass
|
||||||
else:
|
|
||||||
nondirs.append(entry.name)
|
|
||||||
except OSError as error:
|
except OSError as error:
|
||||||
# scandir() or iterating into scandir() iterator raised an OSError
|
# scandir() or iterating into scandir() iterator raised an OSError
|
||||||
if onerror is not None:
|
if onerror is not None:
|
||||||
|
|
Loading…
Reference in New Issue