Parsing 读取.sol文件以略读相关信息
我手上有一个.sol文件,我想从中读取相关信息。以下几行只是.sol文件的一部分。该文件表示的是变量Parsing 读取.sol文件以略读相关信息,parsing,python-2.7,readline,Parsing,Python 2.7,Readline,我手上有一个.sol文件,我想从中读取相关信息。以下几行只是.sol文件的一部分。该文件表示的是变量z、x、f。z后面的数字是请求ID。下面解释x后面的数字。_uu后面的第一个数字是请求ID,第二个数字是虚拟节点号,最后一个数字是它嵌入的物理节点。类似地,在f的情况下,第一个数字是requestID,第二个是edgeID,第一个()中的数字表示虚拟边缘,第二个()中的数字表示物理边缘。我想编写一个函数来获取这些值并创建一个.xml文件,该文件能够更好地读取所需信息,并且可以高效地重复使用。但我的
z、x、f
。z
后面的数字是请求ID。下面解释x
后面的数字。_uu后面的第一个数字是请求ID,第二个数字是虚拟节点号,最后一个数字是它嵌入的物理节点。类似地,在f
的情况下,第一个数字是requestID,第二个是edgeID,第一个()中的数字表示虚拟边缘,第二个()中的数字表示物理边缘。我想编写一个函数来获取这些值并创建一个.xml文件,该文件能够更好地读取所需信息,并且可以高效地重复使用。但我的问题是,我无法阅读它们并据此进行分类。因此,我想请你们帮忙
多谢各位
z_0 1.000000
x_0_0_1 1.000000
x_0_1_5 1.000000
x_0_2_20 1.000000
x_0_3_21 1.000000
x_0_4_8 1.000000
f_0_0(0,1)_(1,5) 1.000000
f_0_1(1,2)_(5,9) 1.000000
f_0_1(1,2)_(9,20) 1.000000
f_0_2(2,3)_(2,21) 1.000000
f_0_2(3,2)_(2,22) 1.000000
f_0_2(2,3)_(20,22) 1.000000
f_0_3(4,3)_(8,10) 1.000000
f_0_3(3,4)_(0,10) 1.000000
f_0_3(4,3)_(0,14) 1.000000
f_0_3(4,3)_(14,21) 1.000000
z_1 1.000000
x_1_0_16 1.000000
x_1_1_6 1.000000
x_1_2_13 1.000000
x_1_3_0 1.000000
x_1_4_25 1.000000
x_1_5_15 1.000000
x_1_6_19 1.000000
f_1_0(1,0)_(6,16) 1.000000
f_1_1(0,2)_(6,11) 1.000000
f_1_1(0,2)_(11,13) 1.000000
f_1_1(2,0)_(6,16) 1.000000
f_1_2(3,1)_(0,6) 1.000000
f_1_3(2,4)_(13,25) 1.000000
f_1_4(5,4)_(15,25) 1.000000
f_1_5(3,6)_(0,1) 1.000000
f_1_5(3,6)_(1,18) 1.000000
f_1_5(3,6)_(18,19) 1.000000
您可以使用正则表达式,甚至可以使用完全自定义的解析器:将ebnf馈送到
grako
(或其他解析器生成器),并在语义步骤上构建json、xml。感谢Sebastian的想法。我反复使用split命令来获取值,它看起来很有效,但在某种程度上很糟糕,因为它提醒我编程技能低下。我将查看grako包