Patch from Bastian Kleineidam <calvin@cs.uni-sb.de>: added 'remove_tree()'.
This commit is contained in:
parent
06537a5e89
commit
b98fe36c46
|
@ -11,7 +11,7 @@ file causing it."""
|
|||
|
||||
__revision__ = "$Id$"
|
||||
|
||||
import os, string
|
||||
import os, string, shutil
|
||||
from distutils.errors import *
|
||||
|
||||
|
||||
|
@ -378,6 +378,25 @@ def copy_tree (src, dst,
|
|||
# copy_tree ()
|
||||
|
||||
|
||||
def remove_tree (directory, verbose=0, dry_run=0):
|
||||
"""Recursively remove an entire directory tree. Any errors are ignored
|
||||
(apart from being reported to stdout if 'verbose' is true)."""
|
||||
|
||||
if verbose:
|
||||
print "removing '%s' (and everything under it)" % directory
|
||||
if dry_run:
|
||||
return
|
||||
try:
|
||||
shutil.rmtree(directory,1)
|
||||
except (IOError, OSError), exc:
|
||||
if verbose:
|
||||
if exc.filename:
|
||||
print "error removing %s: %s (%s)" % \
|
||||
(directory, exc.strerror, exc.filename)
|
||||
else:
|
||||
print "error removing %s: %s" % (directory, exc.strerror)
|
||||
|
||||
|
||||
# XXX I suspect this is Unix-specific -- need porting help!
|
||||
def move_file (src, dst,
|
||||
verbose=0,
|
||||
|
|
Loading…
Reference in New Issue