'remove a file or directory (or a directory tree if rec=1).
if ignore_errors is True, errors while removing directories will
be ignored.'

def remove(self, rec=1, ignore_errors=False):

    if self.check(dir=1, link=0):
        if rec:
            if iswin32:
                self.chmod(448, rec=1)
            py.error.checked_call(py.std.shutil.rmtree, self.strpath, ignore_errors=ignore_errors)
        else:
            py.error.checked_call(os.rmdir, self.strpath)
    else:
        if iswin32:
            self.chmod(448)
        py.error.checked_call(os.remove, self.strpath)
