summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2004-11-22 16:49:02 (GMT)
committerTim Peters <tim.peters@gmail.com>2004-11-22 16:49:02 (GMT)
commit919a3b40f9753aa7a9ce8efee9fad04919dd2929 (patch)
treedfeac59d5becbc1356d3528f10e8b71f39da9e77 /Doc
parenta9cadcd41b27fd045626c4e3b98315aaa257ca75 (diff)
downloadcpython-919a3b40f9753aa7a9ce8efee9fad04919dd2929.zip
cpython-919a3b40f9753aa7a9ce8efee9fad04919dd2929.tar.gz
cpython-919a3b40f9753aa7a9ce8efee9fad04919dd2929.tar.bz2
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.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/lib/libos.tex10
1 files changed, 5 insertions, 5 deletions
diff --git a/Doc/lib/libos.tex b/Doc/lib/libos.tex
index 704b057..91923c4 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}