python - 如何将多行解析为元组
问题描述
我有格式的文件:
name : base : add : data1 : data2 : {desc}
name : base : add : data1 : data2 : {desc}
name : base : add : data1: data2 : {desc
desc-continue}
name : base : add : data1: data2 : {desc
desc-contiue
desc-continue}
...
name : base : add : data1 : data2 : {desc}
如您所见, desc 以 {} 开头和结尾,但可以跨多行。
因此,我不能使用 reg = Register._match(line.split(r/ : /)
有关如何在 python 中有效解析此文件的任何帮助。
解决方案
拆分}
然后追加。
a = """name : base : add : data1 : data2 : {desc}
name : base : add : data1 : data2 : {desc}
name : base : add : data1: data2 : {desc
desc-continue}
name : base : add : data1: data2 : {desc
desc-contiue
desc-continue}"""
splited = [i+"}" for i in a.split("}") if i]
结果:
>>>splited
['name : base : add : data1 : data2 : {desc}', '\nname : base : add : data1 : data2 : {desc}', '\nname : base : add : data1: data2 : {desc\ndesc-continue}', '\nname : base : add : data1: data2 : {desc\ndesc-contiue\ndesc-continue}']
推荐阅读
- html - 为什么我的 SVG 资产没有在 Netlify 上呈现?
- node.js - 如何使用 Nodejs 关闭 Chrome
- php - PHP PDO 阻止'max_user_connections'
- python - 考虑到丢失的数据/时间戳计算每小时平均值
- reactjs - 有没有办法使用 pusher-js 与 nextjs 进行实时通知?
- python - Amazon Redshift:`ActiveStatementsExceededException`(如何同时执行 INSERT)
- token - 如何在 devnet 上测试 solana 令牌名称和徽标
- c - 符号链接的路径
- python - 发布登录详细信息时如何解决 405 响应?
- google-apps-script - Google Sheets Script - 如何根据另一个工作表中的某些字段复制工作表