diff options
author | Georg Brandl <georg@python.org> | 2007-03-21 09:10:29 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2007-03-21 09:10:29 (GMT) |
commit | cae9f3d91609635374956e9ad71109bf1e90fa58 (patch) | |
tree | f49288c8da9c6356f2d84275222e3c50a904cdac /Lib/os.py | |
parent | 5cb76c19ba5b22b926f69d017a79eb2de296785a (diff) | |
download | cpython-cae9f3d91609635374956e9ad71109bf1e90fa58.zip cpython-cae9f3d91609635374956e9ad71109bf1e90fa58.tar.gz cpython-cae9f3d91609635374956e9ad71109bf1e90fa58.tar.bz2 |
New test for rev. 54407 which only uses directories under TESTFN.
Diffstat (limited to 'Lib/os.py')
-rw-r--r-- | Lib/os.py | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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 |