我有一个类似这样的模块:
#!/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.foobar = '这里有一些荒谬漫长而丑陋的正则表达式'
这里有额外的文档
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,顺便说一下.)
我正在使用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)
?
有没有我忽略的选择?如果可能的话,我不想再用手写所有的签名.