用python把一个文件夹下所有文件中包含字符串'CA1'的行提取出来,怎样效率最快?请写出具体代码
时间: 2023-05-20 11:05:26 浏览: 107
python按行读取文件并找出其中指定字符串
可以使用Python的os和re模块来实现这个功能,具体代码如下:
```python
import os
import re
def extract_lines_with_CA1(folder_path):
result = []
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
if os.path.isfile(file_path):
with open(file_path, 'r') as f:
lines = f.readlines()
for line in lines:
if re.search('CA1', line):
result.append(line)
return result
```
这个函数会遍历指定文件夹下的所有文件,对于每个文件,它会逐行读取文件内容,并使用正则表达式查找包含'CA1'的行,将这些行保存到一个列表中并返回。这个函数的效率取决于文件夹中文件的数量和文件的大小,如果文件太大,可能会导致内存占用过高,可以考虑使用生成器来逐行读取文件内容。
阅读全文