所以我有这个词典对文本文件进行排序。此文本文件是由等号分隔的列表(即Packagename = versionnumber)。
解析文件后:
mydict = {}
with open('security-updates.txt') as f:
for line in f.readlines():
mykey, sep, myval = line.partition('=')
mydict[mykey] = mykey
mydict[myval] = myval
当我尝试访问mydict[mykey]
时,它只返回列表中的最后一个键。当我尝试访问mydict[myval]
时,它只返回列表中的最后一个值。我需要能够说出所有' mykey""或者"所有' myval"在字典里。有没有办法做到这一点?
更新代码
mydict = {}
with open('chef-security-updates.txt') as f:
for line in f.readlines():
mykey,sep,ver_val = line.partition('=')
mydict[mykey] = myval
mydict.keys()
这是整个街区。由于某些原因,我发现我不能print(mydict.keys())
,但是当我设置mykeys = mydict.keys()
时,我可以打印mykeys
。打印功能抛出了类型错误。一切似乎现在都有效。干杯,每个人都帮助我。
答案 0 :(得分:0)
您正在创建字典错误。应该是这样的:
mydict = {}
with open('security-updates.txt') as f:
for line in f.readlines():
mykey, sep, myval = line.partition('=')
mydict[mykey] = myval
mydict.keys() # all the keys of the dict
mydict.values() # all the values of the dict