python怎么根据当前文件夹下含有多个关键词的txt文本,直接遍历当前文件夹下的每个文本文件,然后把匹配到的所在行内容输出到一个对应的新的文本里面,每个新匹配出来的文本根据原文件名称加上1重命名
时间: 2024-02-06 15:09:03 浏览: 113
可以使用Python的os和re模块来实现这个功能。以下是实现代码:
```python
import os
import re
# 定义要匹配的关键词列表
keywords = ['apple', 'banana', 'orange']
# 遍历当前文件夹下的所有文本文件
for filename in os.listdir():
if filename.endswith('.txt'):
with open(filename, 'r') as f:
# 读取文件内容
content = f.readlines()
# 遍历文件的每一行
for line in content:
# 匹配关键词
if any(keyword in line for keyword in keywords):
# 如果匹配成功,则输出到新的文本文件中
new_filename = filename[:-4] + '1.txt'
with open(new_filename, 'a') as new_file:
new_file.write(line)
```
代码中首先定义了要匹配的关键词列表,然后使用os.listdir()函数遍历当前文件夹下的所有文本文件。对于每个文本文件,打开文件并读取内容,遍历每一行并匹配关键词。如果匹配成功,则将该行内容写入一个新的文本文件中,并根据原文件名称加上1重命名。
阅读全文