首页 > 解决方案 > 将单行替换为多行python

问题描述

我有 file.txt 内容如下

{"action":"validate","completed_at":"2019-12-24T15:24:40+05:30"}{"action":"validate","completed_at":"2019-12-24T15:24:42+05:30"}{"action":"validate","completed_at":"2019-12-24T15:24:45+05:30"}{"action":"validate","completed_at":"2019-12-24T15:24:48+05:30"}

如何转换为如下所示

{"action":"validate","completed_at":"2019-12-24T15:24:40+05:30"}
{"action":"validate","completed_at":"2019-12-24T15:24:42+05:30"}
{"action":"validate","completed_at":"2019-12-24T15:24:45+05:30"}
{"action":"validate","completed_at":"2019-12-24T15:24:48+05:30"}

我试过

with open('file.txt', w) as f:
    f.replace("}{", "}\n{")

有没有更好的办法更换?

标签: python

解决方案


我不会替换内容,而是阅读它,拆分它,然后使用简单的正则表达式再次写入{.*?}

with open('file.txt', 'r') as f:
    value = f.read()

contents = re.findall('{.*?}', value)

with open('file.txt', 'w') as f:
    for content in contents:
        f.write(content + "\n")

推荐阅读