LDAP搜索属性

2024-05-07 05:42:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我在我的LDAP基础上进行了搜索,它是:

user_account = server.search_s(
    'ou=usuarios,ou=xxx,o=system xxx',
    ldap.SCOPE_ONELEVEL,
    'uid=' + login,
    ['uid', 'mail', 'objectClass', 'CPF'])[0]
  if user_account[1]['CPF'] is not None:
    plpy.debug("It has CPF")

如果填充了CPF字段,则可以正常工作,但如果未填充,则会出现错误:

^{pr2}$

我尝试过:

if user_account[1]['CPF'] is None:
    plpy.debug("It hasn't CPF")

但它给了我同样的错误。在


Tags: debugnoneuidifis错误ouit
1条回答
网友
1楼 · 发布于 2024-05-07 05:42:26

您可以使用get()从字典中获取一个值,如果没有,则返回一个默认值。如果没有提供默认值,它将返回None。在

cpf = user_account[1].get("CPF")
if cpf:
  plpy.debug("It has CPF")

另一种方法是使用in运算符。它可以告诉你字典中是否存在某个键。在

^{pr2}$

这与执行以下操作相同:

if "CPF" in user_account[1].keys():
  plpy.debug("It has CPF")

相关问题 更多 >