如何从文件中读取每个第一行作为值,第二行作为字典的键

时间:2015-07-09 12:59:10

标签: python parsing dictionary

我正在尝试使用每隔一行作为键创建一个文本文件中的字典,并将每个第一行作为值列表创建:

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]

不起作用:(

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()调用然后使用键获取偶数行。