Directory tree walk with callback function.
For each directory in the directory tree rooted at top (including top
itself, but excluding '.' and '..'), call func(arg, dirname, fnames).
dirname is the name of the directory, and fnames a list of the names of
the files and subdirectories in dirname (excluding '.' and '..'). func
may modify the fnames list in-place (e.g. via del or slice assignment),
and walk will only recurse into the subdirectories whose names remain in
fnames; this can be used to implement a filter, or to impose a specific
order of visiting. No semantics are defined for, or required of, arg,
beyond that arg is always passed to func. It can be used, e.g., to pass
a filename pattern, or a mutable object designed to accumulate
statistics. Passing None for arg is common.
Definition at line 299 of file ntpath.py.
References isdir(), and join().
300 def walk(top, func, arg):
301 """Directory tree walk with callback function.
303 For each directory in the directory tree rooted at top (including top
304 itself, but excluding '.' and '..'), call func(arg, dirname, fnames).
305 dirname is the name of the directory, and fnames a list of the names of
306 the files and subdirectories in dirname (excluding '.' and '..'). func
307 may modify the fnames list in-place (e.g. via del or slice assignment),
308 and walk will only recurse into the subdirectories whose names remain in
309 fnames; this can be used to implement a filter, or to impose a specific
310 order of visiting. No semantics are defined for, or required of, arg,
311 beyond that arg is always passed to func. It can be used, e.g., to pass
312 a filename pattern, or a mutable object designed to accumulate
313 statistics. Passing None for arg is common."""
316 names = os.listdir(top)
319 func(arg, top, names)
320 exceptions = (
'.',
'..')
322 if name
not in exceptions:
323 name =
join(top, name)
325 walk(name, func, arg)