使用Sphinx扩展NumpyDoc,是否有某种方法可以自动确保文档与其记录的代码相匹配?
例如,由于拼写错误,以下文档与代码不匹配:
def myfunc(apples, bears):
"""
Parameters
----------
apples : int
The number of apples.
beards : int
The number of bears to eat the apples.
"""
Sphinx或NumpyDoc可以犯这个错误吗?
答案 0 :(得分:0)
这是内置于NumpyDoc或Sphinx,但可以使用NumpyDoc's scraping abilities。这是一个完成所需功能的代码片段:
import inspect
from numpydoc.docscrape import FunctionDoc
def myfunc(apples, bears):
"""
Parameters
----------
apples : int
The number of apples.
beards : int
The number of bears to eat the apples.
"""
doc = FunctionDoc(myfunc)
argspec = inspect.getargspec(myfunc)
# check for basic spelling errors
for a_i, arg in enumerate(argspec.args):
if arg != doc["Parameters"][a_i][0]:
print("%s != %s" %(arg, doc["Parameters"][a_i][0]))