Python LDIF解析器

Python LDIF解析器,python,Python,我正在尝试解析下面的示例LDIF文件中的数据。我只想在csv文件中写入'LoginID'和'mail'参数的值 dn: uid=123456789012345,ou=Students,o=system.edu,o=system LoginId: 0012345 mail: test1@test.edu dn: uid=543210987654321,ou=Students,o=system.edu,o=system LoginId: 0067890 mail: test2@test.edu

我正在尝试解析下面的示例LDIF文件中的数据。我只想在csv文件中写入'LoginID'和'mail'参数的值

dn: uid=123456789012345,ou=Students,o=system.edu,o=system
LoginId: 0012345
mail: test1@test.edu

dn: uid=543210987654321,ou=Students,o=system.edu,o=system
LoginId: 0067890
mail: test2@test.edu
下面是我在编译时遇到问题的代码

import csv
from ldif import LDIFParser

class ParseRecords(LDIFParser):
    def __init__(self,infile,csv_writer):
        self.csv_writer = csv_writer
    def handle(self,dn,entry):
        self.csv_writer.writerow([entry['LoginId'],entry['mail']])

with open('/root/Python_Scripts/LDIF','rb') as infile, open('/root/Python_Scripts/LDIFExtract.csv','wb') as outfile:
    csv_writer = csv.writer(outfile)
    csv_writer.writerow(['LoginId','mail'])
    ParseRecords(infile,csv_writer).parse()
当我编译代码时,我得到一个错误

Traceback (most recent call last):
  File "LDIFExtract.py", line 14, in <module>
    ParseRecords(infile,csv_writer).parse()
  File "/usr/lib/python2.7/dist-packages/ldif.py", line 345, in parse
    self._line = self._input_file.readline()
AttributeError: ParseRecords instance has no attribute '_input_file'
回溯(最近一次呼叫最后一次):
文件“LDIFExtract.py”,第14行,在
ParseRecords(infle,csv_writer).parse()
文件“/usr/lib/python2.7/dist packages/ldif.py”,第345行,在parse中
self.\u line=self.\u input\u file.readline()
AttributeError:ParseRecords实例没有属性“\u input\u file”
感谢您对解决此问题的任何帮助


谢谢

您正在重写继承自的类(LDIFParser)的
\uuuu init\uuuu
函数,该函数可能包含类似于
self.\u input\u file=infle
的内容。您可以通过在构造函数内部调用
LDIFParser.\uu________(self,)
或不首先重写构造函数,在类内部运行构造函数命令

Oops错过了这个LDIFParser.uuu初始化(self,infle)。。。。我刚贴出来就意识到了。。。谢谢