我想在文本文件中搜索模式并将文件发送到找到匹配的位置。使用 re.finditer 因为我有两个匹配列表(要通过电子邮件发送的文件的模式和名称),即使有多个匹配项,我也想发送一个文件。这可能吗?
file1:三种 pat1 模式
pat1
pat1
file2:
只有一个 pat2
bla bla
import re
import itertools
cc_files = ["file1", "file2"]
patlist = ["pat1", "pat2"]
prglist = ["prg1", "prg2"]
for (a, b) in itertools.zip_longest(patlist, prglist):
for cc_file in cc_files:
for i, line in enumerate(open(cc_file)):
for match in re.finditer(a, line):
print('Found on line %s: %s in file %s' % (i+1, match.group(), cc_file))
# email: filename=(b + "_" + cc_file)) </code>`
输出:
在第 1 行找到:文件 file1 中的 pat1 在第2 行找到
:文件 file1 中的 pat1 在
第 3 行找到:文件 file1 中的 pat1 在
第 1 行找到:文件 file2 中的 pat2
我想要:
file1 中的 pat1
file2 中的 pat2