如何从一行(从具有换行值的单个列数组中的.txt文件)打印到序列的末尾,该序列的行数为几行但不总是相同的行数。
使用python 3.3。
我只希望某些数据条目的序列包含关键字
我在想这个问题:
with open('filename.txt') as f:
for line in f:
cache.append(line)
for line in range(len(cache)):
if 'keyword' in cache[line].lower():
print line
#however i need to print the next line which is the start of the sequence and
#continue this until the end (I guess this could be ' " ' or 'keyword2')
三江源
答案 0 :(得分:0)
这应该有效:
f=open('toto2.txt','r')
for line in f:
if 'keyword' in line:
print line
答案 1 :(得分:0)
kw0='d'
kw1='q'
with open('fn.txt', 'r') as f:
for line in f:
if kw0 in line:
print(line)
for nextline in f:
print(nextline)
if kw1 not in nextline:
break
有点嵌套,但是当你使用相同的f它应该工作。如果你不想用kw1
显示行,可以在if之后放置打印功能。
使用文件的示例:
a b c
d e f
d e f
g h i
abq
123 abc
d
q
我们得到输出:
d e f
d e f
g h i
abq
d
q
最重要的是:无需缓存所有内容。
可以使用print(line,end='')
或print(line.strip())
来避免打印之间的换行符。