我想编写一个函数 read_file() 来读取文件中的值并将数据存储在字典中。字典看起来像这样:
product = {'d01':['pencil', 5], 'd02':['highlighter', 7], 'd03':['sharpener', 10]....}
文件中的项目是什么样的:
输入:
d={}
file=r"C:\Users\Public\Documents\Folder\products.dat"
with open(file,'r') as f:
for items in f:
print(items)
结果:
d01,pencil,5
d02,highlighter,7
d03,sharpener, 10
d04,pen,3
这是我的代码:
def read_file():
d={}
file=r"C:\Users\Public\Documents\Folder\products.dat"
with open(file,'r') as f:
for items in f:
stuff = items.split(",")
quantity = int(stuff[2].rstrip())
a = stuff[0]
b = [stuff[1], quantity]
d = {a:b}
print(d)
read_file()
目前我得到的结果:
{'d01': ['pencil', 5]}
{'d02': ['highlighter', 7]}
{'d03': ['sharpener', 10]}
{'d04': ['pen', 3]}
如何实现上述结果?
答案 0 :(得分:2)
不要为每一行创建一个新字典,在同一个字典中添加一个元素。
改变
d = {a:b}
到
d[a] = b
并在循环完成后放置 print(d)
,而不是在循环内。
答案 1 :(得分:0)