假设我有一个文件“stuff.txt”,其中包含以下单独行:
问: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()
解决方法:
试试这个:
d = {}
with open('text.txt') as f:
for line in f:
key, value = line.strip().split(':')
d[key] = int(value)
您正在附加d [key],就像它是一个列表一样.你想要的只是像上面那样直接分配它.
此外,使用with打开文件是一种很好的做法,因为它会在执行’with block’中的代码后自动关闭文件.
标签:python,dictionary,file
来源: https://codeday.me/bug/20190824/1710448.html