SF bug 1071087: os.walk example for deleting a full tree is sometime wrong.
authorTim Peters <tim.peters@gmail.com>
Mon, 22 Nov 2004 16:49:02 +0000 (16:49 +0000)
committerTim Peters <tim.peters@gmail.com>
Mon, 22 Nov 2004 16:49:02 +0000 (16:49 +0000)
Clarify that the example assumes no links are present; the point of the
example is to illustrate a need for topdown=False, not to wrestle with
platform-dependent link convolutions.

Also spell os.path.join() out in full, instead of using a shortcut import.
The bug reporter was confused by that too, and it's clearer this way.

Bugfix candidate; but I don't intend to backport it.

Doc/lib/libos.tex

index 704b05763c4ae66c1495a6d3dc999ba4183ddb01..91923c443add06a026ed962f80d7118328bd94e1 100644 (file)
@@ -1185,16 +1185,16 @@ In the next example, walking the tree bottom up is essential:
 directory is empty:
 
 \begin{verbatim}
-import os
-from os.path import join
-# Delete everything reachable from the directory named in 'top'.
+# Delete everything reachable from the directory named in 'top',
+# assuming there are no symbolic links.
 # CAUTION:  This is dangerous!  For example, if top == '/', it
 # could delete all your disk files.
+import os
 for root, dirs, files in os.walk(top, topdown=False):
     for name in files:
-        os.remove(join(root, name))
+        os.remove(os.path.join(root, name))
     for name in dirs:
-        os.rmdir(join(root, name))
+        os.rmdir(os.path.join(root, name))
 \end{verbatim}
 
 \versionadded{2.3}