首页 > 解决方案 > 如何仅打印文件中的匹配行?

问题描述

import re
shakes = open("output.txt", "r")
for line in shakes:
    if re.match(r'.*(\w*Daemon\w*).*', line):
        print(line)
        break
    else:
        print("none")

输出:

none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
none
local1.crit: Aug 23 09:08:42 abvlab_ confd[860]: - Daemon n_7 died

标签: pythonpython-3.x

解决方案


例如,您可以这样做:

matching_shakes = list(filter(lambda line: re.match(regex, line), shakes))

推荐阅读