Skip to main content
 首页 » 编程设计

python之在 python (2.5.2) 中解析数据文件

2025年05月04日10fff_TT

我有一个如下所示的消息定义文件

struct1  
{ 
  field="name" type="string" ignore="false";  
  field="id" type="int" enums=" 0="val1" 1="val2" "; 
} 
 
struct2 
{ 
  field = "object" type="struct1"; 
  ... 
} 

我如何将其解析为键为“struct1、struct2”的字典,值应该是一个字典列表,每个对应于各自的行号,以便我可以执行以下操作

dict['struct1'][0]['type'] // Would return 'string' 
dict['struct1'][1]['type'] // Would return 'int' 
dict['struct1'][1]['enums']['0'] // Would return 'val1' 
dict['struct2'][0]['type'] // Would return 'struct1' 

等等..

此外,我可以更改定义文件的格式,如果您对修改定义文件格式以使其更易于解析有任何建议,请告诉我。

谢谢

请您参考如下方法:

我可以推荐 YAML ?恕我直言,语法对于数据输入更具可读性,然后您不必编写和维护解析器。避开 XML——它适合标记文本,但不适合数据输入,因为文本不是人类可读的,到处都是重复的标签。