python - 将单行替换为多行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{")
有没有更好的办法更换?
解决方案
我不会替换内容,而是阅读它,拆分它,然后使用简单的正则表达式再次写入{.*?}
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")
推荐阅读
- java - JSoup - 选择不在链接内的图像
- php - 在mysql查询中获取下一行
- javascript - 如何使用 Angular 7 在 formControl 中设置文件?
- reactjs - 如何在其中获取 API 提供的记录值
? - android - 尝试将 downloadUri 添加到 Firestore 文档时出错。“无法序列化对象。超过最大深度 500”
- python - 如何解决导入 tkinter 模块的问题
- excel - Excel VBA - 从多个文本文件中提取包含特定名称的行
- web-scraping - 用户警告:未安装soupsieve 软件包。不能使用 CSS 选择器
- ecmascript-6 - 为什么 var 和 let 都抛出重新声明错误?
- javascript - 无法在动态创建的输入 ID 上 getDocumentById