我有一个文件然后打开它然后我检查了几件事。如果该行以“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"
答案 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了解详情。