簡體   English   中英

搜索關鍵字並將其與python匹配后將輸出轉換為新行

[英]Search for key word and convert the output into new line after it matches in python

我在下面的代碼中列出了我正在python中工作的代碼的輸出,我專門在其中尋找memberUid字符串,並希望將其后的每個名稱打印到新行中:例如:anshulm jiafan

在立即輸入這些名稱的同時,它將獲得'cn'只需停止打印即可。

[[('cn=oracle,ou=Group,ou=corp,ou=services,o=kk.com', {'description': ['oracle group'], 'businessCategory': ['Private'], 'objectClass': ['top', 'groupOfUniqueNames', 'posixGroup'], 'memberUid': ['anshulm', 'jiafan', 'manasij', 'asbisht', 'karnika', 'junle', 'amitsh', 'fuwei', 'dewansh', 'gouravr', 'harshitb', 'tandel', 'matte', 'izamir', 'elie', 'emiliano', 'mateuszw', 'theo', 'mahdi', 'hassan', 'gshruti', 'makhiles', 'prabhaka', 'shgarg', 'ritolia', 'wadhwani', 'steev', 'rtlsbld', 'nikhilb', 'fwang', 'ankitb', 'rtls', 'amitb', 'agautam', 'pratyush', 'hywang', 'dsouder', 'foutz', 'parimi', 'pradeepn', 'patrickg', 'pkunwar', 'tejinder', 'ramteke', 'jangra', 'kush', 'kundan', 'mohang', 'xiang', 'xinjia', 'anantv', 'christos', 'achugh', 'kbhatt', 'jroy', 'kusantos', 'kamleshm', 'iraa', 'indrajit'], 'gidNumber': ['9393'], 'owner': ['varshney'], 'cn': ['oracle']})]]

下面是我的代碼,上面的輸出:

import ldap

## first you must open a connection to the server
try:
        l = ldap.initialize("ldap://ldapserver:389")
        l.protocol_version = ldap.VERSION3
except ldap.LDAPError, e:
        print e

    baseDN = "ou=group,ou=corp,ou=services,o=kk.com"
    searchScope = ldap.SCOPE_SUBTREE
    retrieveAttributes = None
    searchFilter = raw_input("Enter the Group Name: ")
    try:
            ldap_result_id = l.search(baseDN, searchScope, searchFilter, retrieveAttributes)
            result_set = []
            while 1:
                    result_type, result_data = l.result(ldap_result_id, 0)
                    if (result_data == []):
                            break
                    else:

                            if result_type == ldap.RES_SEARCH_ENTRY:
                                    result_set.append(result_data)
            print result_set
    except ldap.LDAPError, e:
            print e

您應該從result_set提取所需的部分,例如:

result_set[0][0][1]['memberUid']

並以您喜歡的任何方式打印:

from pprint import pprint
pprint(result_set[0][0][1]['memberUid'])

要么

print('\n'.join(name for name in result_set[0][0][1]['memberUid']))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM