关于正则表达式:Python – 将列表写入文本文件 来自re.findall

Python - Write list to text file with
from re.findall

本问题已经有最佳答案,请猛点这里访问。

参考前一个问题Python Regex - Capture匹配和前两行

我尝试将此匹配写入文本文件,但似乎在1行上写下所有匹配项。

尝试这些组合没有运气

1
2
3
4
5
6
7
    output = re.findall(r'(?:.*
?
){2}.*?random data.*'
, f.read())

myfilename.write(str(list(output) + '
'
)) # gives me TypeError: can only concatenate list (not"str") to list
myfilename.write(str(output)) # writes to one line

我是否需要一个for循环来将每个索引迭代到一个新行,或者我错过了什么,它应该匹配CRLLF并保持原始格式正确吗?


你可以用

1
2
3
4
5
6
with open ("file_here.txt","r") as fin, open("output.txt","w") as fout:
    output = re.findall(r'(?:.*
?
){2}.*?random data.*'
, fin.read())
    fout.write("
"
.join(output))