我是python的初学者,如果有人可以帮助我理解为什么dict
与列表理解一起工作并且在我的情况下不能使用简单的参数参数,那将会很有帮助?下面给出了两个代码示例,
输入:(我正在读取.txt文件中的数据并转换为JSON)
vm4 : Windows10
vm2 : Ubuntu14
vm1 : Ubuntu14
vm3 : MacOSX10.11
工作代码。
file1 = dict(i.split(':') for i in file1.split('\n'))
代码无效
for i in file1.split('\n'):
print dict(i.split(':'))
ValueError Traceback (most recent call last)
<ipython-input-176-048ba6a1e29b> in <module>()
1 for i in file1.split('\n'):
----> 2 print dict(i.split(':'))
ValueError: dictionary update sequence element #0 has length 4; 2 is required
答案 0 :(得分:2)
您是否尝试将文本文件的内容转换为字典?
如果是这样,这就是你想要的:
d = {}
with open("text.txt") as f:
for line in f:
key, value = line.strip().split(' : ')
d[key] = value
print(d)
输出:
{'vm4': 'Windows10', 'vm2': 'Ubuntu14', 'vm1': 'Ubuntu14', 'vm3': 'MacOSX10.11'}