mirror of
https://github.com/python/cpython.git
synced 2025-07-28 21:55:21 +00:00
New test for rev. 54407 which only uses directories under TESTFN.
This commit is contained in:
parent
5cb76c19ba
commit
cae9f3d916
4 changed files with 70 additions and 32 deletions
10
Lib/os.py
10
Lib/os.py
|
@ -221,7 +221,7 @@ def renames(old, new):
|
|||
|
||||
__all__.extend(["makedirs", "removedirs", "renames"])
|
||||
|
||||
def walk(top, topdown=True, onerror=None):
|
||||
def walk(top, topdown=True, onerror=None, followlinks=False):
|
||||
"""Directory tree generator.
|
||||
|
||||
For each directory in the directory tree rooted at top (including top
|
||||
|
@ -257,6 +257,10 @@ def walk(top, topdown=True, onerror=None):
|
|||
to abort the walk. Note that the filename is available as the
|
||||
filename attribute of the exception object.
|
||||
|
||||
By default, os.walk does not follow symbolic links to subdirectories on
|
||||
systems that support them. In order to get this functionality, set the
|
||||
optional argument 'followlinks' to true.
|
||||
|
||||
Caution: if you pass a relative pathname for top, don't change the
|
||||
current working directory between resumptions of walk. walk never
|
||||
changes the current directory, and assumes that the client doesn't
|
||||
|
@ -300,8 +304,8 @@ def walk(top, topdown=True, onerror=None):
|
|||
yield top, dirs, nondirs
|
||||
for name in dirs:
|
||||
path = join(top, name)
|
||||
if not islink(path):
|
||||
for x in walk(path, topdown, onerror):
|
||||
if followlinks or not islink(path):
|
||||
for x in walk(path, topdown, onerror, followlinks):
|
||||
yield x
|
||||
if not topdown:
|
||||
yield top, dirs, nondirs
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue