1

我目前正在从文件中读取值并将它们拆分为参数和值,例如 @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。提前致谢。

4

3 回答 3

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))
于 2013-01-09T11:18:29.117 回答
2

如果您将 list1 定义为 dictlist1 = {}那么您的打印语句不正确。

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

两者都是7. 因为会给你它的内容的价值,而不是它的关键list1[param]valuelist1[param]

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

print(list1)
于 2013-01-09T11:24:51.480 回答
0

I know this wasn't what you were asking for, but I would suggest to look at ConfigParser. This is a standard way to use configuration files.

于 2013-01-09T12:14:43.037 回答