我需要在python中创建以下对象
ldapdict = {
'objectclass': [b'inetOrgPerson', b'person'],
'cn': [b'George Orwell'],
'givenName': [b'George'],
'sn': [b'Orwell'],
'uidNumber': [b'1984'],
'gidNumber': [b'1984'],
'mail': [
b'george.orwell@example.com',
b'big.brother@example.com',
],
}
我有以下代码,但它不工作,我无法找出它
cat ./main.py
#!/usr/bin/python
from ldap import LdapEntry
#ldapdict = {
# 'objectclass': [b'inetOrgPerson', b'person'],
# 'cn': [b'George Orwell'],
# 'givenName': [b'George'],
# 'sn': [b'Orwell'],
# 'uidNumber': [b'1984'],
# 'gidNumber': [b'1984'],
# 'mail': [
# b'george.orwell@example.com',
# b'big.brother@example.com',
# ],
# }
ldapdict = dict()
e = LdapEntry(ldapdict)
assert(e.cn == 'George Orwell')
assert(e.uidNumber == 1984)
assert('big.brother@example.com' in e.mail)
assert(len(e.mail) == 2)
cat ldap.py
#!/usr/bin/python
class LdapEntry:
my_dict = {'objectclass':''}
def __init__(self, objects):
self.objectclass = objects.objectclass
self.cn = objects.cn
self.givenName = objects.givenName
self.sn = objects.sn
self.uidNumber = objects.uidNumber
self.gidNumber = objects.gidNumber
self.mail = objects.mail
这是错误的
./main.py
Traceback (most recent call last):
File "./main.py", line 20, in <module>
e = LdapEntry(ldapdict)
File "/home/ec2-user/ldap.py", line 8, in __init__
self.objectclass = objects.objectclass
AttributeError: 'dict' object has no attribute 'objectclass'
更新
所以我就这样改了
self.objectclass = ['inetOrgPerson','person']
self.cn = 'George Orwell'
self.givenName = 'George'
self.sn = 'Orwell'
self.uidNumber = '1984'
self.gidNumber = '1984'
self.mail = ['george.orwell@example.com', 'big.brother@example.com']
但它与
$ ./main.py
Traceback (most recent call last):
File "./main.py", line 23, in <module>
assert(e.uidNumber == 1984)
AssertionError
目前没有回答
相关问题 更多 >
编程相关推荐