def _sftp_rm(path: str, sftp: SFTPClient) -> None: files = sftp.listdir(path) for f in files: filepath = f"{path}/{f}" try: sftp.remove(filepath) except IOError: _sftp_rm(filepath, sftp) try: sftp.rmdir(path) except Exception: pass