]> granicus.if.org Git - python/commitdiff
Change the directory tree walking example to use clearer variable
authorGuido van Rossum <guido@python.org>
Tue, 3 Aug 1999 21:52:29 +0000 (21:52 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 3 Aug 1999 21:52:29 +0000 (21:52 +0000)
names, some suggested by Joe Ellsworth.

Doc/lib/libstat.tex

index 596e06ca7e59270c34d8ced68dee0f340eb9ee2e..7d19a683d39dea1f928a03fd4510a799a27a7e94 100644 (file)
@@ -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}