使用一個簡單的腳本來搜索某個文件中的關鍵字。一旦找到關鍵字,就會計算它使用的次數,然後將每次找到關鍵字的行號記錄到列表中。然後打印出它被發現的次數和行數。 該程序計算關鍵字罰款,但它被發現一次後,它會進入下一行。它不會計算多個關鍵字。我知道它是這樣做的,因爲if語句:if keyword in line: Number_Of_Key_Words = Number_Of_Key_Words + 1 found_at.append(num) continue
Python 3在文本文件中每行搜索關鍵字不止一次
如何獲得它以說明每行文件可能存在多個關鍵字?
全碼:
def search():
Number_Of_Key_Words = 0
found_at = [];
keyword = input("Enter a key word to search for: ")
with open("WordList.txt") as file:
for num, line in enumerate(file, 1):
if keyword in line:
Number_Of_Key_Words = Number_Of_Key_Words + 1
found_at.append(num)
continue
print(Number_Of_Key_Words)
print("Found on lines: ", found_at)
search()
例 單詞列表
字逐字
搜索 「字」 輸出:1
上系中發現[1]
想要: 輸出:3
找到線路[1]
@Tommy ,就像dreamzboy使用字符串'count()'的答案一樣,這也是一個好主意,但是如果你需要搜索關鍵字而忽略個案或者模式匹配等,你可能從're'模塊中獲得更多的好處,請閱讀[docs here]( https://docs.python.org/3/library/re.html) 。你應該探索並嘗試更多,並從中學習。 – Anzel