我在我的LDAP基础上搜索了:
HDC hdcDesk = GetDC(0);
HDC hdcMem = CreateCompatibleDC(hdcDesk);
HBITMAP hbmMem = CreateCompatibleBitmap(hdcDesk, 1920, 1080);
SelectObject(hdcMem, hbmMem);
BitBlt(hdcMem, 0, 0, 1920, 1080, hdcDesk, 0, 0, SRCCOPY | CAPTUREBLT);
// Now save the bitmap...
如果CPF字段已填满,那该工作正常,但如果它没有填写则会给我一个错误:
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")
我试过这样做:
ERROR: KeyError: 'CPF'
但它给了我同样的错误。
答案 0 :(得分:1)
您可以使用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")