相关疑难解决方法(0)

在sphinx的autodoc中覆盖函数声明

我有一个类似这样的模块:

#!/usr/bin/env python

#: Documentation here.
#: blah blah blah
foobar = r'Some really long regex here.'

def myfunc(val=foobar):
    '''Blah blah blah'''
    pass
Run Code Online (Sandbox Code Playgroud)

...我有一个.rst类似这样的文件:

:mod:`my_module` Module
-----------------------

..automodule:: my_module
    :members:
    :private-members:
    :show-inheritance:
Run Code Online (Sandbox Code Playgroud)

当我构建文档时,我得到一个带有代码片段的html文件,如下所示:

mymodule.foobar.foob​​ar = '这里有一些荒谬漫长而丑陋的正则表达式'

这里有额外的文档

MyModule的.myfunc(val ='这里有一些荒谬漫长而丑陋的正则表达式')

等等等等等等

基于这个stackoverflow帖子,我想我可以通过改变我的模块来改变它:

#!/usr/bin/env python

#: .. data:: my_module.foobar
#: Extra documentation here
foobar = 'Some really long regex here.'

def myfunc(val=foobar):
    '''.. function:: my_module.myfunc(val=foobar)

    Blah blah blah'''
    pass
Run Code Online (Sandbox Code Playgroud)

......但是那并没有做到这一点,只是将丑陋的签名作为身体的一部分附加.有谁知道我怎么能正确地覆盖它?

(我正在使用Sphinx v1.1.3,顺便说一下.)

python documentation python-sphinx

10
推荐指数
1
解决办法
3912
查看次数

sphinx.ext.autodoc:保持签名中的常量名称

我正在使用Sphinx的autodoc功能来记录我的API.

例:

DEFAULT_OPTION = 'default'
def do_something(msg, option=DEFAULT_OPTION):
    print msg
Run Code Online (Sandbox Code Playgroud)

生成的文档现在显示以下签名:

do_something(msg, option='default')
Run Code Online (Sandbox Code Playgroud)

如何告诉Sphinx保留常量值的名称,即

do_something(msg, option=DEFAULT_OPTION)
Run Code Online (Sandbox Code Playgroud)

有没有我忽略的选择?如果可能的话,我不想再用手写所有的签名.

python python-sphinx

6
推荐指数
2
解决办法
2070
查看次数

标签 统计

python ×2

python-sphinx ×2

documentation ×1