正则表达式在命令提示符下打印两次匹配项?

时间:2019-03-25 16:09:02

标签: python regex python-3.x

我一直在写尝试在给定目录中的所有*txt文件中查找特定模式的文章。找到这些模式后,我希望将它们附加到主文件中。
模式是:someletters,编号我拥有的代码是:

import re
import glob

pattern = re.compile(",\w\w\w+,\d")
for file in glob.glob("*.txt"):
f= open("masterfile.txt","a+")
    for i, line in enumerate(open(file)):
        for match in re.findall(pattern, line):
            print(match)
            f.write(match)
f.close()

示例输入文件包含:

...A,30,35,EHKKDH,6,0.786,Linear
...A,1,7,LKEAELH,7,0.739,Linear
...A,30,35,EHKKDH,6,0.805,Linear

当前输出为:

,EHKKDH,6,LKEAELH,7,EHKKDH,6,EHKKDH,6,LKEAELH,7,EHKKDH,6

预期输出为:

,EHKKDH,6,LKEAELH,7,EHKKDH,6

我得到想要的输出两次。我该如何解决?我敢肯定这是我的愚蠢错误。感谢您的帮助!

0 个答案:

没有答案