所以我有一个文本文件,我需要提取一行文本,在特定标题后面有4行。
即:
标题
一号线
2号线
3号线
要提取的行
我一直在寻找一个简单的方法来实现它,但我对python的了解太有限了,无法应用我在这个特定情况下发现的任何东西。谢谢!
答案 0 :(得分:2)
找到标题然后只需要接下来的四行,最后一行就是你想要的。
from itertools import islice
with open("words.txt") as f:
for line in f:
if line.rstrip() == "Heading":
print(list(islice(f, 4))[-1])
break
line to be extracted
或者使用linecache获取Heading
行之后的第四行:
from linecache import getline
with open("words.txt") as f:
for ind, line in enumerate(f,1):
if line.rstrip() == "Heading":
print(getline(f.name, ind + 4))
break
line to be extracted
如果您有多条线路,请不要中断。
from linecache import getline
with open("words.txt") as f:
for ind, line in enumerate(f,1):
if line.rstrip() == "Heading":
print(getline(f.name, ind + 4))
line to be extracted
other line to be extracted
答案 1 :(得分:1)
with open('file.txt') as f:
data = f.read().split('\n')
if 'Heading' in data:
my_line = data[data.index('Heading') + 4]