我有一个txt文件,其中包含许多我不需要的信息。下面的程序适用于大部分文件。我的问题是,当我找到包含"OB"
的行时,我想要打印所有行after "OB" and before "CB"
。我不知道这些行包含什么,所以我无法搜索它们,并且在"OB" and "CB"
行之间可能有一行或25行。
这太混乱了吗?
f=open('temp.txt','r')
f1=open('newtemp.txt', 'a')
a ='PN'
b = 'OB'
c = 'CB'
for line in f.readlines():
if a in line:
print (line)
if b in line:
print (line)
if c in line:
print (line)
f1.close()
f.close()
答案 0 :(得分:0)
以下将一次读取一行,测试b
(“OB”)是否在行中,然后停止读取,继续读取下一个循环,直到遇到{{{ 1}}(“CB”)在里面。不需要旗帜;它只依赖于每行向前移动的文件指针。
c
答案 1 :(得分:0)
你可以试试这个:
f = open('temp.txt','r')
f1 = open('newtemp.txt', 'a')
a ='PN'
b = 'OB'
c = 'CB'
flag = False
for line in f.readlines():
if b in line:
flag = True
continue
if flag:
if c not in line:
print (line)
else:
break
f1.close()
f.close()
这只是为了让您了解如何解决问题。请注意,在此示例中,我没有使用a
和f1
变量。