【发布时间】:2016-05-04 23:17:13
【问题描述】:
处理一个在特定文件中搜索关键字的简单脚本。一旦找到关键字,它就会计算它被使用的次数,然后将每次找到关键字的行号记录到一个列表中。然后打印出它被找到的次数和在哪几行。
该程序对关键字进行计数,但在一行中找到一次后,它会转到下一行。它不计算多个关键字。我知道它这样做是因为 if 语句:if keyword in line:
Number_Of_Key_Words = Number_Of_Key_Words + 1
found_at.append(num)
continue
如何让它考虑文件每行可能存在的多个关键字?
完整代码:
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] 行找到
【问题讨论】:
标签: python-3.x