使用变量动态地将新项添加到Dictionary

时间:2013-01-09 11:14:47

标签: python dictionary

我正在从文件中读取值并将它们拆分为参数和值,例如@ id = 7变为param = @id,value = 7.我想将param变量用作字典中的新键。但是,它没有按预期工作。我正在使用以下代码。

list1 = {}

with open('C:/Temp/file1.txt') as f:
    lines = f.read().splitlines()

for line in lines:
    middle = line.find("=")
    param = line[:middle]
    value = line[middle+1:]
    list1[param] = value

在此代码中,字典键和值变为7。 提前谢谢。

3 个答案:

答案 0 :(得分:3)

你必须定义你的字典(d是一个很好的名字)。你可以这样做:

with open('C:/Temp/file1.txt') as f:#
    d = dict(line.strip().split('=', 1) for line in f)

for k,v in d.iteritems():
    print("param = {0}, value = {1}".format(k,v))

答案 1 :(得分:2)

如果您将list1定义为dict list1 = {},那么您的print语句不正确。

print("param = " + list1[param] + ", value = " + value)

list1[param]value都是7.因为list1[param]会为您提供内容的价值,而不是它的关键。

然后通过打印来尝试查看字典。

print(list1)

答案 2 :(得分:0)

我知道这不是你要求的,但我建议你看ConfigParser。这是使用配置文件的标准方法。