从一个文件夹中提取每一个txt文件,并根据关键词搜索文件,并将每一个关键词所对应的行提取并生成一个新的TXT文件到指定路径
时间: 2024-04-14 08:28:25 浏览: 24
您可以使用Python的os和re模块来实现这个需求。以下是一个示例代码,可以实现从文件夹中提取每一个txt文件,并根据关键词搜索文件,并将每一个关键词所对应的行提取并生成一个新的TXT文件到指定路径:
```python
import os
import re
def extract_lines_with_keywords(folder_path, keywords, output_path):
# 遍历文件夹中的所有txt文件
for filename in os.listdir(folder_path):
if filename.endswith(".txt"):
file_path = os.path.join(folder_path, filename)
with open(file_path, 'r') as file:
lines = file.readlines()
matching_lines = []
# 搜索包含关键词的行
for line in lines:
for keyword in keywords:
if re.search(keyword, line):
matching_lines.append(line)
break
# 将匹配的行写入新的TXT文件
if matching_lines:
output_file = os.path.join(output_path, f"{filename}_output.txt")
with open(output_file, 'w') as file:
file.writelines(matching_lines)
# 示例用法
folder_path = "path/to/folder" # 替换为实际的文件夹路径
keywords = ["keyword1", "keyword2"] # 替换为实际的关键词列表
output_path = "path/to/output" # 替换为实际的输出路径
extract_lines_with_keywords(folder_path, keywords, output_path)
```
请确保替换示例代码中的以下部分:
- `folder_path`:实际的文件夹路径,应包含要搜索的txt文件。
- `keywords`:实际的关键词列表,您想要搜索的关键词。
- `output_path`:实际的输出路径,新生成的TXT文件将保存在该路径下。
代码中使用了正则表达式来进行关键词的搜索,您可以根据需要进行修改。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)