Commit 87d01364 authored by Benjamin Peterson's avatar Benjamin Peterson

clarify when the list of subdirectories is read (closes #13779)

parent efda558b
...@@ -1604,9 +1604,11 @@ Files and Directories ...@@ -1604,9 +1604,11 @@ Files and Directories
If optional argument *topdown* is ``True`` or not specified, the triple for a If optional argument *topdown* is ``True`` or not specified, the triple for a
directory is generated before the triples for any of its subdirectories directory is generated before the triples for any of its subdirectories
(directories are generated top-down). If *topdown* is ``False``, the triple for a (directories are generated top-down). If *topdown* is ``False``, the triple
directory is generated after the triples for all of its subdirectories for a directory is generated after the triples for all of its subdirectories
(directories are generated bottom-up). (directories are generated bottom-up). No matter the value of *topdown*, the
list of subdirectories is retrieved before the tuples for the directory and
its subdirectories are generated.
When *topdown* is ``True``, the caller can modify the *dirnames* list in-place When *topdown* is ``True``, the caller can modify the *dirnames* list in-place
(perhaps using :keyword:`del` or slice assignment), and :func:`walk` will only (perhaps using :keyword:`del` or slice assignment), and :func:`walk` will only
......
...@@ -229,11 +229,12 @@ def walk(top, topdown=True, onerror=None, followlinks=False): ...@@ -229,11 +229,12 @@ def walk(top, topdown=True, onerror=None, followlinks=False):
When topdown is true, the caller can modify the dirnames list in-place When topdown is true, the caller can modify the dirnames list in-place
(e.g., via del or slice assignment), and walk will only recurse into the (e.g., via del or slice assignment), and walk will only recurse into the
subdirectories whose names remain in dirnames; this can be used to prune subdirectories whose names remain in dirnames; this can be used to prune the
the search, or to impose a specific order of visiting. Modifying search, or to impose a specific order of visiting. Modifying dirnames when
dirnames when topdown is false is ineffective, since the directories in topdown is false is ineffective, since the directories in dirnames have
dirnames have already been generated by the time dirnames itself is already been generated by the time dirnames itself is generated. No matter
generated. the value of topdown, the list of subdirectories is retrieved before the
tuples for the directory and its subdirectories are generated.
By default errors from the os.listdir() call are ignored. If By default errors from the os.listdir() call are ignored. If
optional arg 'onerror' is specified, it should be a function; it optional arg 'onerror' is specified, it should be a function; it
...@@ -261,6 +262,7 @@ def walk(top, topdown=True, onerror=None, followlinks=False): ...@@ -261,6 +262,7 @@ def walk(top, topdown=True, onerror=None, followlinks=False):
print "bytes in", len(files), "non-directory files" print "bytes in", len(files), "non-directory files"
if 'CVS' in dirs: if 'CVS' in dirs:
dirs.remove('CVS') # don't visit CVS directories dirs.remove('CVS') # don't visit CVS directories
""" """
islink, join, isdir = path.islink, path.join, path.isdir islink, join, isdir = path.islink, path.join, path.isdir
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment