【问题标题】:Query on python ldif module查询 python ldif 模块
【发布时间】:2021-07-16 17:00:27
【问题描述】:

这可能已经回答了。但我无法在网上或 stackoverflow 上找到任何好的材料。我正在尝试解析下面的 LDIF 文件并将其写入一个新文件,删除文件中的一些 DN。我看到了 LDIFParser、LDIFWriter 和一些例子。但不是一个好的。有人可以在这里发光吗?或任何在线材料

dn: uid=rasannak,ou=people,dc=LNU,dc=edu
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
objectclass: peoplefinderPerson
givenname: rasanna
cn: rasanna Kumaravel
sn: rasanna
telephoneNumber: +1 (314) 9777777
mail: rasanna.kumaravel@lnu.edu
uid: prasannak
title: Executive Assistant to the President and Board Administrator
campus: view Campus
building: Day Hall
room: 206
status: Faculty/Staff
ou: Office
physicalDeliveryOfficeName: Day Hall

【问题讨论】:

    标签: python ldif


    【解决方案1】:

    您要查找的示例位于:https://www.python-ldap.org/en/python-ldap-3.3.0/reference/ldif.html。滚动到页面末尾。

    是这样的:

    import sys
    from ldif import LDIFParser,LDIFWriter
    
    SKIP_DN = ["uid=foo,ou=People,dc=example,dc=com",
        "uid=bar,ou=People,dc=example,dc=com"]
    
    class MyLDIF(LDIFParser):
        def __init__(self,input,output):
        LDIFParser.__init__(self,input)
        self.writer = LDIFWriter(output)
    
    def handle(self,dn,entry):
        if dn in SKIP_DN:
           return
        self.writer.unparse(dn,entry)
    
    parser = MyLDIF(open("input.ldif", 'rb'), sys.stdout)
    parser.parse()
    

    【讨论】:

      猜你喜欢
      • 2019-07-17
      • 2018-02-10
      • 2016-10-18
      • 1970-01-01
      • 2013-03-19
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      相关资源
      最近更新 更多