Python解析树状数据

Hoo*_*ked 1 python parsing

我有一个字体的字形信息,如下所示:

(CHARACTER C T
   (CHARWD R 0.6944475)
   (CHARHT R 0.686111)
   (COMMENT
      (KRN C y R -0.027779)
      (KRN C e R -0.083334)
      (KRN C o R -0.083334)
      (KRN C r R -0.083334)
      (KRN C a R -0.083334)
      (KRN C A R -0.083334)
      (KRN C u R -0.083334)
      )
   )
Run Code Online (Sandbox Code Playgroud)

有没有一种直接的方法来解析python中的这个?我之前使用过BeautifulSoup,但它需要嵌套的<tag> </tag>信息.将它转换为XML并重新转换并不难 - 但似乎它将重新发明轮子.如何将这些信息导入我可以操作并再次吐出的数据对象?

Ada*_*ner 6

你可以使用pyparsing.您的示例看起来非常像s表达式,并且在示例部分中有一个s表达式解析器:http://pyparsing.wikispaces.com/file/view/sexpParser.py