Regex打印匹配命令提示符中的两次?

2024-10-02 18:17:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在写,试图在给定目录中的所有*txt文件中找到一个特定的模式。找到这些模式后,我希望将它们附加到主文件中。
模式是:一些字母,数字我的代码是:

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

我得到了我想要的两次输出。我该怎么解决这个问题?我相信这是我这方面的一个愚蠢的错误。谢谢你的帮助!你知道吗


Tags: 文件inimportretxtformatch模式