use*_*374 3 python dictionary file
假设我有一个文件"stuff.txt",其中包含以下单独的行:q:5 r:2 s:7
我想从文件中读取这些行中的每一行,并将它们转换为字典元素,字母是键,数字是值.所以我想得到y = {"q":5,"r":2,"s":7}
我尝试过以下内容,但它只打印一个空字典"{}"
y = {}
infile = open("stuff.txt", "r")
z = infile.read()
for line in z:
key, value = line.strip().split(':')
y[key].append(value)
print(y)
infile.close()
Run Code Online (Sandbox Code Playgroud)
试试这个:
d = {}
with open('text.txt') as f:
for line in f:
key, value = line.strip().split(':')
d[key] = int(value)
Run Code Online (Sandbox Code Playgroud)
您附加就d[key]好像它是一个列表.你想要的只是像上面那样直接分配它.
此外,使用with打开文件是一种很好的做法,因为它会在执行"with block"中的代码后自动关闭文件.