如何将多行解析为tup

2024-09-29 07:29:47 发布

您现在位置: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.\u match(line.split(r/:/)

关于如何在python中有效解析此文件的任何帮助


Tags: 文件nameregisteraddbase格式match结尾
1条回答
网友
1楼 · 发布于 2024-09-29 07:29:47

}拆分,然后稍后追加

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}']

相关问题 更多 >