在python中匹配文本后打印第n行
在每次搜索匹配后,我试图打印文本文件中的第13行。意味着每次在文本文件中找到搜索模式时,它都应该打印找到的搜索文本的下一个第13行 我现在使用的代码只打印搜索匹配的当前行。有人能帮我在每场比赛后打印第13行吗在python中匹配文本后打印第n行,python,Python,在每次搜索匹配后,我试图打印文本文件中的第13行。意味着每次在文本文件中找到搜索模式时,它都应该打印找到的搜索文本的下一个第13行 我现在使用的代码只打印搜索匹配的当前行。有人能帮我在每场比赛后打印第13行吗 import sys import re com=str(sys.argv[1]) with open("/tmp/sample.txt", 'r') as f: for line in f: if com in line: print
import sys
import re
com=str(sys.argv[1])
with open("/tmp/sample.txt", 'r') as f:
for line in f:
if com in line:
print (line)
最简单的方法是一次读取所有行,然后搜索并打印:
import sys
import re
com=str(sys.argv[1])
with open("/tmp/sample.txt", 'r') as f:
lines = f.readlines()
for index, line in enumerate(lines):
if com in line:
print lines[index+13]
当然,假设还有一行可以向下打印13行。。。
否则,您可以添加:
....
if com in line:
try:
print lines[index+13]
except IndexError:
pass # or whatever you want to do.
最简单的方法是一次读取所有行,然后搜索并打印:
import sys
import re
com=str(sys.argv[1])
with open("/tmp/sample.txt", 'r') as f:
lines = f.readlines()
for index, line in enumerate(lines):
if com in line:
print lines[index+13]
当然,假设还有一行可以向下打印13行。。。
否则,您可以添加:
....
if com in line:
try:
print lines[index+13]
except IndexError:
pass # or whatever you want to do.