首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LDAP搜索属性

LDAP搜索属性
EN

Stack Overflow用户
提问于 2015-05-21 18:05:37
回答 1查看 1.3K关注 0票数 0

我在LDAP基础上进行了搜索,即:

代码语言:javascript
复制
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字段,就可以正常工作,但如果没有填充,则会给出一个错误:

代码语言:javascript
复制
ERROR:  KeyError: 'CPF'

我曾尝试过:

代码语言:javascript
复制
if user_account[1]['CPF'] is None:
    plpy.debug("It hasn't CPF")

但也让我犯了同样的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-21 18:27:17

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

代码语言:javascript
复制
cpf = user_account[1].get("CPF")
if cpf:
  plpy.debug("It has CPF")

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

代码语言:javascript
复制
if "CPF" in user_account[1]:
  plpy.debug("It has CPF")

这与做以下工作一样:

代码语言:javascript
复制
if "CPF" in user_account[1].keys():
  plpy.debug("It has CPF")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30381217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档