[python]Help处理数据



我是编程新手,正在努力处理一些数据。

我写了这样的代码:

import ldap, sys
import json
l = ldap.initialize("ldap://xxx.xxx.x.xx")
username = "CN=Administrator,CN=Users,DC=capam,DC=server" 
password = "xxxxxxxx"
teste = "teste2"
basedn = "DC=capam,DC=server"
searchFilter = "(&(description=%s)(!(uid=user321)))" %teste
searchAttribute = ["uid","description"]
try:
l.protocol_version = ldap.VERSION3
l.simple_bind_s(username, password) 
print("conectou.")
except ldap.INVALID_CREDENTIALS:
print ("Your username or password is incorrect.")
sys.exit(0)
try:
result_id = l.search(basedn, ldap.SCOPE_SUBTREE, searchFilter, searchAttribute)
result_set = []
while 1:
result_type, result_data = l.result(result_id, 0)

if (result_data == []):
break
else:
## if you are expecting multiple results you can append them
## otherwise you can just wait until the initial result and break out
if result_type == ldap.RES_SEARCH_ENTRY:                
result_set.append(result_data)
#print(result_data)
print(result_set[0])
print(result_set[1])

except ldap.LDAPError:
print("erro.")
sys.exit(0)

输出:

[('CN=users02,OU=teste,DC=capam,DC=server', {'description': [b'teste2'], 'uid': [b'Users02test']})]
[('CN=user3,CN=Users,DC=capam,DC=server', {'description': [b'teste2'], 'uid': [b'userTest']})]

现在我需要了解在收集数据之前这个'b'是什么,以及我如何只获得描述值或uid值。有人能教一下怎么做吗?然后,我将用这些数据创建一个csv文件。

"b"表示返回的是类bytes的实例。

result_set = [
[('CN=users02,OU=teste,DC=capam,DC=server', {'description': [b'teste2'], 'uid': [b'Users02test']})],
[('CN=user3,CN=Users,DC=capam,DC=server', {'description': [b'teste2'], 'uid': [b'userTest']})],
]
for data in result_set:
for (_, d) in data:
print(d['description'][0].decode('utf8'), d['uid'][0].decode('utf8'))

最新更新