Two comments: 1) Should delete_dir not be called instead of os.rmdir in this line
(os.rmdir, os.remove)[os.path.islink(item)](item) 2) Function rmtree in the shutil module considers symlinks to a directory an error <http://docs.python.org/library/shutil.html#module- shutil> since Python 2.6. /Jean On Apr 26, 2:09 am, Lawrence D'Oliveiro <l...@geek- central.gen.new_zealand> wrote: > It doesn’t seem to mention in the documentation for os.walk > <http://docs.python.org/library/os.html> that symlinks to directories are > returned in the list of directories, not the list of files. This will lead > to an error in the os.rmdir call in the example directory-deletion routine > on that page. > > This version fixes that problem. > > def delete_dir(dir) : > """deletes dir and all its contents.""" > if os.path.isdir(dir) : > for parent, dirs, files in os.walk(dir, topdown = False) : > for item in files : > os.remove(os.path.join(parent, item)) > #end for > for item in dirs : > item = os.path.join(parent, item) > (os.rmdir, os.remove)[os.path.islink(item)](item) > #end for > #end for > os.rmdir(dir) > #end if > #end delete_dir -- http://mail.python.org/mailman/listinfo/python-list