我有一个二进制文件,其中包含一些文本,其上有一个结构。下面是一些线条的示例:
...
sCoilSelectMeas.aRxCoilSelectData[0].asList[0].lElementSelected = 1
sCoilSelectMeas.aRxCoilSelectData[0].asList[0].lMuxChannelConnected = 8
sRXSPEC.lGain = 1
sRXSPEC.asNucleusInfo[0].tNucleus = ""1H""
sRXSPEC.asNucleusInfo[0].lCoilSelectIndex = 0
...
作为中间步骤,我使用以下函数将此结构解析为Python OrderedDict:
from collections import OrderedDict
def parse_x(binfile):
result = OrderedDict()
with open(binfile, 'rb') as openfile:
rx = re.compile(b'(.*)\t = \t(.*)\n')
for line in openfile:
m = rx.match(line)
if m:
result[m.group(1).decode('utf-8')] = m.group(2).decode('utf-8')
return result
因此,现在我说了以下几点:
...
('sCoilSelectMeas.aRxCoilSelectData[0].asList[0].lElementSelected', '1'),
('sCoilSelectMeas.aRxCoilSelectData[0].asList[0].lMuxChannelConnected', '8'),
('sRXSPEC.lGain', '1'),
('sRXSPEC.asNucleusInfo[0].tNucleus', '""1H""'),
('sRXSPEC.asNucleusInfo[0].lCoilSelectIndex', '0'),
...
如何将这个orderedict解析为Python对象,以便像在原始结构中一样访问字段?i、 电子邮件:
In[1]: sCoilSelectMeas.aRxCoilSelectData[0].asList[0].lElementSelected
Out[1]: 1
目前没有回答
相关问题 更多 >
编程相关推荐