Python-如何将.txt文件中的行转换为字典元素?

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)

Tot*_*tem 6

试试这个:

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"中的代码后自动关闭文件.