Python docstring解析(通常用Python解析语言)

时间:2011-03-29 14:42:49

标签: python parsing docstring

我想为用Python编写的REST API生成有用的文档。

我想它应该是这样的:

'''
/kittens/
This method creates kittens in the browser

HTTP Params:
    format(default=json): The format in which kittens will be generated.
    count(default=10): The number of kittens to generate.

Returns:
    A list of kittens.
'''

我的语法很明显:

program = dict
dict = repeated(name:string | name:dict)

我想解析这种格式并得到(例如)Python dict,最好不要使用正则表达式。

这种语法的解析器是否已经可用? 如果没有,那么在Python中定义和解析DSL的最简单方法是什么?

请注意,我希望使用reStructuredText或与我描述的格式不同的任何格式。

2 个答案:

答案 0 :(得分:0)

http://sphinx.pocoo.org/

它是一个在线文档工具。它真棒,它将完全符合您的要求。

答案 1 :(得分:0)

我不确定我到底想要什么,但是reStructuredText可用于捕获示例中的信息:

.. method:: kittens(format="json", count=10)

   Creates kittens in the browser.

   :param format: The format in which kittens will be generated.
   :param count: The number of kittens to generate.
   :return: A list of kittens

Sphinx理解此语法,它是Docutils定义的基本reST标记的扩展。