Python-解析文件中的多行文本

Python-解析文件中的多行文本,python,parsing,loops,lines,Python,Parsing,Loops,Lines,我被困在一个我正在解决的问题上 它包括打开一个文件读取一行,然后将文件中的下两行与之进行比较。 然后向下移动一行(文件中的第二行),然后再将下两行与之比较 我很难创建一个循环来完成这些步骤 到目前为止,我已经做到了这一点 write_file = input_file[:-3] + "bak" read_file = input_file with open(write_file, "w") as write: with open(read_file,"r") as read:

我被困在一个我正在解决的问题上

它包括打开一个文件读取一行,然后将文件中的下两行与之进行比较。 然后向下移动一行(文件中的第二行),然后再将下两行与之比较

我很难创建一个循环来完成这些步骤

到目前为止,我已经做到了这一点

write_file = input_file[:-3] + "bak"
read_file = input_file

with open(write_file, "w") as write:
    with open(read_file,"r") as read:
        for line in read:
            line1 = line
谢谢。

类似于:

tri_lines = [lines[i:i+3] for i in range(0,len(lines),3)]

#Then you can iterate through:

For triplet in tri_lines:
     # your code here, compare tri_lines[0] with tri_lines[1] etc.
我将把把文件的所有行都放到一个列表中的任务留给您

请注意,您需要进行一些简单的验证,以处理文件中没有可被3整除的行数的情况

你甚至可以

for triplet in [lines[i:i+3] for i in range(0,len(lines),3)]:
    if triplet[0] == triplet[1]:
        #do something
    if triplet[0] == triplet[2]:
        #do something

虽然这可能不像@Matt Coubrough所说的那样清楚,但这不是一个QnA论坛。在来这里之前,你应该试着自己解决这个问题,希望有人能帮你解决问题

为了让您走上正确的轨道,这里有一些伪代码

//NOTE: This pseudocode assumes there are atleast 3 lines in the file
line1 = file.getLine()
line2 = file.getLine()
line3 = file.getLine()
//compare line1, line2, and line3

while(fileIsNotEmpty) {
    line1 = line2
    line2 = line3
    line3 = file.getLine()
    //compare line1, line2, and line3
}

这是一个问答网站,不是一个提供一般教程、示例和提示的网站。请阅读帮助:在发布之前,否则您将被否决。用户应该否决所有没有研究成果的问题。您是否尝试过搜索“python中的循环”,甚至在python站点上完成了基本教程?谢谢。这正是我想要的:)