【发布时间】:2016-06-20 18:56:52
【问题描述】:
我想解析一个 numpydoc 文档字符串并以编程方式访问每个组件。
例如:
def foobar(a, b):
'''Something something
Parameters
----------
a : int, default: 5
Does something cool
b : str
Wow
'''
我想做的是:
parsed = magic_parser(foobar)
parsed.text # Something something
parsed.a.text # Does something cool
parsed.a.type # int
parsed.a.default # 5
我一直在四处寻找,发现了 numpydoc 和 napoleon 之类的东西,但我还没有找到任何关于如何在我自己的程序中使用它们的好线索。如有任何帮助,我将不胜感激。
【问题讨论】:
-
我知道你可以使用
inspect来获取信息,但它不解析文档字符串,只解析注释和默认值,所以def foobar(a=5:"Does something cool", b=DEFAULT : "Wow"):的签名很容易inspect。 -
是的,使用
inspect会很好,但是我想解析的文档字符串不是我写的,不幸的是不要使用注释。不过谢谢! -
@tal 同意,人们肯定在这样做。我只是还没有找到一个很好的面向客户的库来在我们自己的程序中使用它。
标签: python parsing python-sphinx docstring numpydoc