Python - 使用\ n来自re.findall

时间:2018-02-22 18:50:59

标签: python regex python-3.x

参考上一个问题Python Regex - Capture match and previous two lines

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

试试这些组合没有运气

    output = re.findall(r'(?:.*\r?\n){2}.*?random data.*', f.read())

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用

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