如何在Python中访问文件(.txt)中的下一行

时间:2013-06-12 21:44:36

标签: python next

我有一个文件然后打开它然后我检查了几件事。如果该行以“E PARAM”开头并且某处还有“OOPS1”,那么我想检查下一行是否以“E PARAM”开头。如果不是,我会创建一个新文件并将其复制到那里,直到我没有打到另一个“E PARAM”行。由于Python没有next()选项......什么可以帮助我

import string
import os


A = "k_trap_cur"
B = open(A, 'r+')
lines = B.readline()

for lines in B:
    if lines.startswith("E PRAM"):
        if "OOPS: 1" in lines:
            while lines.next().startswith("E PARAM") == False: // HERE I want to access next line
                print " YES"

1 个答案:

答案 0 :(得分:1)

如果我理解你的话:

b = open(a, 'r+')
for line in b:
    if line.startswith("E PRAM") and "OOPS: 1" in line:
        next_line = next(b)
        # do whatever you need

文件提供了所谓的“迭代器协议”,以及它们在for - 循环中工作的原因。如果需要,您也可以手动调用next功能。查看PEP-234了解详情。