def removedirs(name):
rmdir(name)<EOL>head, tail = path.split(name)<EOL>if not tail:<EOL><INDENT>head, tail = path.split(head)<EOL><DEDENT>while head and tail:<EOL><INDENT>try:<EOL><INDENT>rmdir(head)<EOL><DEDENT>except error:<EOL><INDENT>break<EOL><DEDENT>head, tail = path.split(head)<EOL><DEDENT>
removedirs(path)

    Super-rmdir; remove a leaf directory and all empty intermediate
    ones.  Works like rmdir except that, if the leaf directory is
    successfully removed, directories corresponding to rightmost path
    segments will be pruned away until either the whole path is
    consumed or an error occurs.  Errors during this latter phase are
    ignored -- they generally mean that a directory was not empty.