Python - 搜索上面的关键字和打印行

时间:2016-05-26 19:11:28

标签: python

所以基本上我尽可能地使用BeautifulSoup下载并清理网页并将其临时保存为包含如下数据的文本文件:

 2123:0335 


WASHINGTON
13
NATIONAL
A85121
THINGLING



 123:4567 


VIRGINIA
12
NATIONAL
A85232
SOMETHIHNG

我的目标是搜索关键字“VIRGINIA”并捕获字符串123:4567或任何以数组形式出现的数字。我可以在我使用的关键字之后拉线,但是当我尝试打印上面的线时,我得到了空白。这是我正在使用的代码:

with open("textfile.txt", "r") as f:
            searchInLines = f.readlines()
            for i, line in enumerate(searchInLines):
                if "VIRGINIA" in line:
                    for l in searchInlines[i:i-3]: print l

非常感谢任何有关此问题的帮助。

2 个答案:

答案 0 :(得分:1)

with open("textfile.txt", "r") as f:
    searchInLines = f.readlines()
    for i, line in enumerate(searchInLines):
        if "VIRGINIA" in line:
            print searchInLines[i-3]

变量名searchInlines变为searchInLines

正确引用数组。

答案 1 :(得分:0)

试试这个 -

with open('textfile.txt', 'r') as f:
    content = f.readlines()
    content = [line.strip('\n') for line in content if line.strip('\n')]
    if 'VIRGINIA' in content:
        print(content[content.index('VIRGINIA') - 1])