我正在尝试使用每隔一行作为键创建一个文本文件中的字典,并将每个第一行作为值列表创建:
value1 value2
key1
value3 value4
key2
我的代码:
file = open('path', 'r')
my_dict = {}
a = 0
for lines in file:
a += 1
if ((a % 2) == 1):
key_lines = lines.strip().split()
else:
value_lines = lines.strip().split()
break
my_dict[key_lines] = value_lines[1]
不起作用:(
答案 0 :(得分:1)
您可以使用next()
function:
my_dict = {}
with open('path', 'r') as file_object:
for values in file_object:
values = values.split()
key = next(file_object, None)
if key is None:
# oops, we got to the end of the file early
raise ValueError('Invalid file format, missing key')
my_dict[key.strip()] = values
每次在文件对象上调用next()
时,文件都会返回下一行,for
循环会从该点再次启动。因此,for
循环获取所有奇数行,值next()
调用然后使用键获取偶数行。