簡體   English   中英

Python-在上方搜索關鍵字和打印行

[英]Python - Search for Keyword and Print line above

因此,基本上,我盡可能使用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

任何有關此問題的幫助將不勝感激。

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

正確引用的數組。

嘗試這個 -

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])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM