下面的代码完成了我想要的,但还有其他更像 python 风格的方式吗?
文件格式:
key1:value1,key2:value2,...
key21:value21,key22:value22,...
.
EOF
和代码:
file = open(fileName, 'r')
for lines in file:
line = lines.split(",")
my_dict = {}
for item in line:
key_value = item.split(":")
my_dict.update({key_value[0]:key_value[1]})
谢谢
请您参考如下方法:
一种更快更 pythonic 的方法是使用 csv 模块(默认情况下以逗号分隔)并在双扁平生成器理解中拆分项目提供给接受元组的 dict有 2 个元素:
import csv
with open("test.csv",newline="") as f: # replace ,newline="" by ,"rb" in python 2
cr = csv.reader(f)
d = dict(x.split(":") for row in cr for x in row)
print(d)
结果:
{'key1': 'value1', 'key22': 'value22', 'key21': 'value21', 'key2': 'value2'}
非 csv 版本:
import csv
with open("test.csv") as f:
d = dict(x.split(":") for line in f for x in line.split(","))
