Python LDIF解析器
我正在尝试解析下面的示例LDIF文件中的数据。我只想在csv文件中写入'LoginID'和'mail'参数的值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
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)。。。。我刚贴出来就意识到了。。。谢谢