python 只显示含有关键词的行
时间: 2023-08-30 18:01:18 浏览: 75
在Python中,我们可以使用字符串的`find()`方法或者使用正则表达式来判断一行中是否包含关键词,并将满足条件的行显示出来。
如果关键词是一个单词,可以用`find()`方法来判断一行中是否包含该关键词。`find()`方法返回关键词在字符串中的索引位置,如果找不到则返回-1。我们可以遍历文本文件的每一行,使用`find()`方法判断是否包含关键词,如果返回值大于等于0,则说明包含关键词,可以将该行显示出来。
如果关键词是一个正则表达式,我们可以使用`re`模块中的`search()`函数来判断一行中是否匹配该正则表达式。`search()`函数会返回匹配到的第一个结果,如果没有匹配到则返回None。同样地,我们可以遍历文本文件的每一行,使用`search()`函数判断是否匹配关键词,如果匹配到了,则将该行显示出来。
以下是一个示例代码:
```python
import re
# 待搜索的关键词
keyword = '关键词'
def show_lines_with_keyword(file_path):
with open(file_path, 'r') as file:
for line in file:
# 使用find()方法判断一行中是否包含关键词
if line.find(keyword) >= 0:
print(line.strip()) # 显示该行(去除首尾空白字符)
# 使用正则表达式判断一行中是否匹配关键词
# if re.search(keyword, line):
# print(line.strip()) # 显示该行(去除首尾空白字符)
# 调用示例
show_lines_with_keyword('file.txt')
```
在该示例中,我们定义了一个`show_lines_with_keyword()`函数来显示包含关键词的行。函数中,我们使用`with open()`语句来打开并读取文件,然后遍历文件的每一行。如果使用`find()`方法判断包含关键词,我们可以将该行显示出来。如果使用正则表达式判断匹配关键词,我们可以取消代码注释,然后将符合条件的行显示出来。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)