首页 > 解决方案 > 从文件中获取输入,文件行成对分组

问题描述

所以我必须读取一个文件,每次读取文件时,我都必须成对取行并将输入存储在变量中,并对输入数据执行各种操作。

我的问题是我如何将这些行成对“分组”,例如,如果我在第一行取三个人最喜欢的数字,在第二行取他们的名字和姓氏,并让这发生在整个文件?为简单起见,我已将其设置为仅打印出我要存储的内容。

array = []
userInput = sys.stdin
array.append(userInput.readline().strip())
firstName,lastName = map(str,userInput.readline().split(" "))

print(firstName)
print(lastName)
print(array)

输入的一个例子是:

1 2 3
John Doe
4 5 6
Queen Mary 

文本文件中的输出示例如下:

John
Doe
['1 2 3']
Queen
Mary
['4 5 6']

标签: pythonfile-io

解决方案


您可以readline循环两次并将它们都附加到数据结构等...:

伪代码

dataread = []

with open('file', 'r') as f:
    while f still has lines:
        twolines = [f.readline()]   # add strip/split as needed
        twolines.append(f.readline()) 
        dataread.append(twolines)

您可能需要处理异常。

dataread阅读后,您可以按照自己喜欢的方式处理每组两行。


推荐阅读