summaryrefslogtreecommitdiffstats
path: root/Doc/lib/libstat.tex
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1999-08-03 21:52:29 (GMT)
committerGuido van Rossum <guido@python.org>1999-08-03 21:52:29 (GMT)
commit068bdb181defc31b3b4c57966f48c4c11330b681 (patch)
tree5ed81c0228e6acde987921e0fa49365a5f60aa77 /Doc/lib/libstat.tex
parent6a619f44c567efe859b4b94a710b718d475a57fe (diff)
downloadcpython-068bdb181defc31b3b4c57966f48c4c11330b681.zip
cpython-068bdb181defc31b3b4c57966f48c4c11330b681.tar.gz
cpython-068bdb181defc31b3b4c57966f48c4c11330b681.tar.bz2
Change the directory tree walking example to use clearer variable
names, some suggested by Joe Ellsworth.
Diffstat (limited to 'Doc/lib/libstat.tex')
-rw-r--r--Doc/lib/libstat.tex25
1 files changed, 14 insertions, 11 deletions
diff --git a/Doc/lib/libstat.tex b/Doc/lib/libstat.tex
index 596e06c..7d19a68 100644
--- a/Doc/lib/libstat.tex
+++ b/Doc/lib/libstat.tex
@@ -118,23 +118,26 @@ Example:
import os, sys
from stat import *
-def process(dir, func):
- '''recursively descend the directory rooted at dir, calling func for
- each regular file'''
+def walktree(dir, callback):
+ '''recursively descend the directory rooted at dir,
+ calling the callback function for each regular file'''
for f in os.listdir(dir):
- mode = os.stat('%s/%s' % (dir, f))[ST_MODE]
+ pathname = '%s/%s' % (dir, f)
+ mode = os.stat(pathname)[ST_MODE]
if S_ISDIR(mode):
- # recurse into directory
- process('%s/%s' % (dir, f), func)
+ # It's a directory, recurse into it
+ walktree(pathname, callback)
elif S_ISREG(mode):
- func('%s/%s' % (dir, f))
+ # It's a file, call the callback function
+ callback(pathname)
else:
- print 'Skipping %s/%s' % (dir, f)
+ # Unknown file type, print a message
+ print 'Skipping %s' % pathname
-def f(file):
- print 'frobbed', file
+def visitfile(file):
+ print 'visiting', file
if __name__ == '__main__':
- process(sys.argv[1], f)
+ walktree(sys.argv[1], visitfile)
\end{verbatim}