追加新字典后列出获取重复值的列表

时间:2019-05-13 10:55:15

标签: python list

我有以下代码将以下格式转换为json。

import json
filepath = "user.ldif"

with open(filepath) as file:
    json_list = []     
    json_obj = {}
    for line in file:

        if line != "\n":
            split = line.split(":")
            json_obj1 = {split[0] : split[1]}
            json_obj.update(json_obj1)  

        else:
            json_list.append(json_obj)
            print(json_obj)
            print(json_list)

with open('ldif.json', 'w') as outfile:
    json.dump(json_list, outfile)

**输入**

dn: a
changetype: a
objectclass: a
objectclass: a
objectclass: a
objectclass: a
objectclass: a
objectclass: a
objectclass: a
mail: a
surname: a
givenname: a
cn: a

dn: b
changetype: b
objectclass: b
objectclass: b
objectclass: b
objectclass: b
objectclass: b
objectclass: b
objectclass: b
mail: b
surname: b
givenname: b
cn: b

输出

{'dn': ' a\n', 'changetype': ' a\n', 'objectclass': ' a\n', 'mail': ' a\n', 'surname': ' a\n', 'givenname': ' a\n', 'cn': ' a\n'}
[{'dn': ' a\n', 'changetype': ' a\n', 'objectclass': ' a\n', 'mail': ' a\n', 'surname': ' a\n', 'givenname': ' a\n', 'cn': ' a\n'}]
{'dn': ' b\n', 'changetype': ' b\n', 'objectclass': ' b\n', 'mail': ' b\n', 'surname': ' b\n', 'givenname': ' b\n', 'cn': ' b\n'}
[{'dn': ' b\n', 'changetype': ' b\n', 'objectclass': ' b\n', 'mail': ' b\n', 'surname': ' b\n', 'givenname': ' b\n', 'cn': ' b\n'}, {'dn': ' b\n', 'changetype': ' b\n', 'objectclass': ' b\n', 'mail': ' b\n', 'surname': ' b\n', 'givenname': ' b\n', 'cn': ' b\n'}]

预期输出

{'dn': ' a\n', 'changetype': ' a\n', 'objectclass': ' a\n', 'mail': ' a\n', 'surname': ' a\n', 'givenname': ' a\n', 'cn': ' a\n'}
[{'dn': ' a\n', 'changetype': ' a\n', 'objectclass': ' a\n', 'mail': ' a\n', 'surname': ' a\n', 'givenname': ' a\n', 'cn': ' a\n'}]
{'dn': ' b\n', 'changetype': ' b\n', 'objectclass': ' b\n', 'mail': ' b\n', 'surname': ' b\n', 'givenname': ' b\n', 'cn': ' b\n'}
[{'dn': ' a\n', 'changetype': ' a\n', 'objectclass': ' a\n', 'mail': ' a\n', 'surname': ' a\n', 'givenname': ' a\n', 'cn': ' a\n'}, {'dn': ' b\n', 'changetype': ' b\n', 'objectclass': ' b\n', 'mail': ' b\n', 'surname': ' b\n', 'givenname': ' b\n', 'cn': ' b\n'}]

正如您在输出中看到的,列表中的两个条目都是相同的。 但我希望它以预期的结果格式。 我必须进行哪些更改。

谢谢

0 个答案:

没有答案