Tim Peters  committed e9599d9

SF bug 1071087: os.walk example for deleting a full tree is sometime wrong.

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.

  • Participants
  • Parent commits 264e45b
  • Branches legacy-trunk

Comments (0)

Files changed (1)

File Doc/lib/libos.tex

 directory is empty:
-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))