项目中经常遇到一些简单但是重复性强的工作,比如确认log中是否报了一些有风险的warning。我通常是用搜索关键字的方法或者grep命令找我关注的warning,但是效率低且不能保证全面。如果有一个自动查找的脚本就好了,这篇博文记录如何在多个文档中一次查找多个关键词。
查找多个关键词
以前做项目的时候遇到过类似的问题,参考之前的解决方案:Python学习之re.compile与findall即可实现多个关键字的依次查找。总结下来就是两个关键点:
re.compile()
正则表达式匹配serach()
搜索文件内容
import re
# warning key_wds that we cares
key_warn_lst = ['WARNING1', 'WARNING2', 'WARNING3', 'WARNING4']
def filter_key_wds(file_dir)
key_warn_num_lst = []
with open(file_dir, 'r') as f_in:
file_ctxt = f_in.read()
# extract statistical warnings part
warn_part = re.search(r'\d+ warnings[(](.*?)[)]', file_ctxt, re.S).group()
# search key_warns we cares among warning parts
for each_warn