From: Tim Peters Date: Mon, 22 Nov 2004 16:49:02 +0000 (+0000) Subject: SF bug 1071087: os.walk example for deleting a full tree is sometime wrong. X-Git-Tag: v2.4~26 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=919a3b40f9753aa7a9ce8efee9fad04919dd2929;p=thirdparty%2FPython%2Fcpython.git 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. --- diff --git a/Doc/lib/libos.tex b/Doc/lib/libos.tex index 704b05763c4a..91923c443add 100644 --- a/Doc/lib/libos.tex +++ b/Doc/lib/libos.tex @@ -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}