[Python-ideas] Function in shutil to clear contents of a directory
Vinay Sajip
vinay_sajip at yahoo.co.uk
Thu Nov 1 01:24:37 CET 2012
A couple of times recently on different projects, I've had the need to clear out
the contents of an existing directory. There doesn't appear to be any function
in shutil to do this. I've used
def clear_directory(path):
for fn in os.listdir(path):
fn = os.path.join(path, fn)
if os.path.islink(fn) or os.path.isfile(fn):
os.remove(fn)
else:
shutil.rmtree(fn)
One could just do shutil.rmtree(path) followed by os.mkdir(path), but that fails
if path is a symlink to a directory (disallowed by rmtree).
Is there some other obvious way to do this that I've missed? If not, I'd like to
see something like this added to shutil. What say?
Regards,
Vinay Sajip
More information about the Python-ideas
mailing list