python使用正则匹配希望结果换行如何操作?

问题遇到的现象和发生背景

在工作中需要处理文件,使用Python自带的正则进行筛选,原数据是每一行都单独列出,而使用正则匹配全部的数据后并写入txt文件,会将所有的匹配信息都写在一行中,使得看数据存在非常不便,只能调整窗口来适应数据查看。
(使用Mac电脑查看结果文件,因为调节窗口都要进行行内容的调整,导致看筛选后的结果文件比看原文件还要卡顿)

原数据,每行都带换行回车

img

筛选后数据,不带换行,看起来很杂乱

img

问题相关代码,请勿粘贴截图
import re

with open("log.txt","r") as f:
    data = f.read()

pattern = re.compile('2022.*AB').findall(data)

with open("plc.txt","w") as f:
    f.write(str(pattern))

我想要达到的结果

这里需要使用正则的时候,每匹配一处信息都带换行信息,文本内容格式同原文件一样,最后写入txt文件时也都是带换行,这样可以方便数据查看。


pattern = re.compile('2022.*AB').findall(data)
for i in pattern
  with open("plc.txt","w",'encoding='utf-8'') as f:
    f.write(str(i))

你应该用循环按行匹配,在按行写入,