用python查询文本的关键词并显示所在行数
时间: 2024-05-08 15:18:17 浏览: 85
您可以使用Python的第三方库nlkt和regex来进行文本关键词检索。
以下是一个示例代码:
```python
import nltk
import regex as re
nltk.download('punkt') #下载必需的nltk数据
def search(keyword, filepath):
with open(filepath, 'r', encoding='utf-8') as file:
contents = file.read()
#使用正则表达式找到每行内容,并将其分割、转换为列表
lines = re.split("\n", contents)
for i, line in enumerate(lines):
#使用nltk的sent_tokenize函数将每行内容分割为句子,并遍历检索每个句子的关键词
for sentence in nltk.sent_tokenize(line):
if keyword in sentence:
print(f"关键词:{keyword} 在第{i+1}行发现,句子内容为:{sentence}")
search("关键词", "file.txt")
```
其中,`search`函数接收两个参数,分别是要检索的关键词和待检索的文本文件路径。
该函数首先读取整个文件的内容,并使用正则表达式将其分割为每一行。然后,对于每一行的内容,使用`nltk.sent_tokenize`函数将其分割为句子,并遍历每个句子,检索其中是否包含关键词。如果找到了包含关键词的句子,则输出该句子所在的行数和内容。
阅读全文