Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing 读取.sol文件以略读相关信息_Parsing_Python 2.7_Readline - Fatal编程技术网

Parsing 读取.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文件,该文件能够更好地读取所需信息,并且可以高效地重复使用。但我的

我手上有一个.sol文件,我想从中读取相关信息。以下几行只是.sol文件的一部分。该文件表示的是变量
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包