我在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字段,就可以正常工作,但如果没有填充,则会给出一个错误:
ERROR: KeyError: 'CPF'我曾尝试过:
if user_account[1]['CPF'] is None:
plpy.debug("It hasn't CPF")但也让我犯了同样的错误。
发布于 2015-05-21 18:27:17
您可以使用get()从字典中获取值,如果不存在默认值,则返回默认值。如果不提供默认值,它将返回None。
cpf = user_account[1].get("CPF")
if cpf:
plpy.debug("It has CPF")另一种方法是使用in运算符。它可以告诉你字典中是否存在某个密钥。
if "CPF" in user_account[1]:
plpy.debug("It has CPF")这与做以下工作一样:
if "CPF" in user_account[1].keys():
plpy.debug("It has CPF")https://stackoverflow.com/questions/30381217
复制相似问题