如何将 pickle dict 值放入对象中

How to put pickle dict value into an object

我正在使用 pickle 将字典对象转储到 txt 文件中。我需要从文件中获取字典并仅提取某些值并将它们作为字符串放入对象中。

我的字典是这样的:

obj_dict = { 'name': 'MYID', 'value': 'usdf23444', 
             'name': 'MYID2', 'value' : 'asdfh3479' }

我的部分困境是字典中有两个'name'和两个'value',我需要分别抓取它们。

这是我使用的代码:

import pickle

filepath = file.txt
output = open(filepath, 'rb')
obj_dict = pickle.load(output)
for i in obj_dict:
    NewString = "VALUE1=" + i['value1'] + "VALUE2=" + i['value2']

print(NewString)

我知道这段代码不起作用,我更多的是展示我需要的最终结果,但基本上我需要将每个值放入一个字符串中,以便稍后使用。如何正确引用 'value1''value2'?另外,我在尝试只获取一个 'value' 时遇到此错误: TypeError: list indices must be integers or slices, not str

编辑评论 2

我不确定这是不是真的,我可以运行这个代码:

output = open(filepath, 'rb')
obj_dict = pickle.load(output)
for i in obj_dict:
    print(i['value'])

我的输出是:

usdf23444
asdfh3479

更新后,好像是一个字典列表。尝试:

strings = ["VALUE{}={}".format(i, d['value']) for i, d in enumerate(obj_dict)]