mirror of https://github.com/python/cpython
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.
This commit is contained in:
parent
a9cadcd41b
commit
919a3b40f9
|
@ -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}
|
||||
|
|
Loading…
Reference in New Issue