【发布时间】:2010-11-28 09:52:59
【问题描述】:
我想解析一个文本文件,例如这样的:
div::
class:yo-d
text:example
id:my-class
h1:: Title
href:http://www.example.com
div::
class:class1
id:my-class2
类似于reStructuredText。
每个标签都以::结尾并且可以有一些属性attr:value。
我想获得这样的东西,一个 Python 字典:
{'div': {'attrs': {'text': 'example', 'class': 'yo-d', 'id': 'my-class'},
'sub': {'h1': {'content': 'Title', 'attrs': {'href': 'http://www.example.com'}},
'div': {'attrs': {'class': 'class1', 'id': 'my-class2'}},
},
}
}
在sub之后是缩进的标签,如果标签的::后面有东西,它就会进入'content'。
我会使用 Lepl,但我什至不知道从哪里开始,有什么建议吗?
谢谢,
魔方
【问题讨论】:
-
我将从一些基础教程开始:acooke.org/lepl/intro-1.html
-
谢谢!我刚刚开始阅读。
-
这看起来很像 JSON。 Lepl 包含一个由用户提交的 JSON 解析器。见groups.google.com/group/lepl/browse_thread/thread/… 和acooke.org/lepl/api/lepl.contrib.json-pysrc.html#Simple
-
但请注意,我认为这只适用于 Python 3。这是由于处理转义文本的方式。但你可能并不需要那个。