Python 获取';服务器正忙';

Python 获取';服务器正忙';,python,ldap,Python,Ldap,我已经找到了python从ldap获取数据的方法,有一部分我有问题 try: ldap_result_id = ldapcon.search(base, scope, search_filter, attributes) result_set = [] while 1: result_type, result_data = ldapcon.result(ldap_result_id, 0) i

我已经找到了python从ldap获取数据的方法,有一部分我有问题

    try:
        ldap_result_id = ldapcon.search(base, scope, search_filter, attributes)
        result_set = []
        while 1:
            result_type, result_data = ldapcon.result(ldap_result_id, 0)
            if (result_data == []):
                break
            else:
                if result_type == ldap.RES_SEARCH_ENTRY:
                    result_set.append(result_data)
    except ldap.LDAPError, e:
        print e
但我在“ldapcon.result()上遇到了ldap错误”

它从3开始发生2次,所以下一次尝试它可以成功! 你知道怎么处理吗? 将相同的try/except仅用于该函数并添加一些尝试计数器?
谢谢

我不能说它是否优雅和正确,但它确实有效

 while 1:
     try:
        ldap_result_id = ldapcon.search(base, scope, search_filter, attributes)
        result_set = []
        result_type, result_data = ldapcon.result(ldap_result_id, 0, 2)
    except ldap.LDAPError, e:
        pass
    if 'result_data' in locals():
        if result_type == ldap.RES_SEARCH_ENTRY:
            result_set.append(result_data)
        return result_set[0][0][1]['departmentNumber'][0]

我现在正在了解这一点。我希望这有帮助。我发现以下内容似乎正是我所需要的:

ldap.ldapobject.ReconnectLDAPObject(dc,重试\u max=5,重试\u delay=2.0)

有关更多信息,请查看

 while 1:
     try:
        ldap_result_id = ldapcon.search(base, scope, search_filter, attributes)
        result_set = []
        result_type, result_data = ldapcon.result(ldap_result_id, 0, 2)
    except ldap.LDAPError, e:
        pass
    if 'result_data' in locals():
        if result_type == ldap.RES_SEARCH_ENTRY:
            result_set.append(result_data)
        return result_set[0][0][1]['departmentNumber'][0]