我在 Python 包中使用 Sphinx 和 autodoc,这会产生很好的文档,但默认情况下是函数的完整“路径”,例如:
SomeFolder.AnotherFolder.MyModule.FunctionName(arg1, arg2, arg3)
Run Code Online (Sandbox Code Playgroud)
由于很清楚模块在哪里,通过我的部分的调用方式,并且由于如果参数名称很长,我会换行,所以我想要一个较短的名称,例如
MyModule.FunctionName(arg1, arg2, arg3)
Run Code Online (Sandbox Code Playgroud)
我假设有一些选项可以传递给自动功能,例如
.. autofunction:: SomeFolder.AnotherFolder.MyModule.FunctionName
:someoption:
Run Code Online (Sandbox Code Playgroud)
但我在http://sphinx-doc.org/ext/autodoc.html上找不到它
PS:在自动函数的调用中省略文件夹名称,即
.. autofunction:: MyModule.FunctionName
Run Code Online (Sandbox Code Playgroud)
导致 Sphinx 找不到该函数(和空文档)
我知道如何通过设置“add_module_names = False”来删除 automodule 指令中函数的模块前缀。 从 sphinx 函数中删除包和模块名称
但是,它无法删除 automodule 指令中 args 的模块前缀。下面是automodule生成的文档。
你可以看到 self arg 的数据类型有一个很长的前缀,比如“PyPhysLeo.data_core”。
data_core 子模块
class BufferDataD 同时管理 CPU 缓冲区和 GPU 缓冲区的类,数据类型为 double
CPU2GPU(自我:PyPhysLeo.data_core.BufferDataD)?没有任何
GPU2CPU(自我:PyPhysLeo.data_core.BufferDataD)?没有任何
分配CPU(自我:PyPhysLeo.data_core.BufferDataD)?没有任何
分配GPU(自我:PyPhysLeo.data_core.BufferDataD)?没有任何
setZeroCPU(self: PyPhysLeo.data_core.BufferDataD) ?没有任何
setZeroGPU(自我:PyPhysLeo.data_core.BufferDataD)?没有任何
大小(自我:PyPhysLeo.data_core.BufferDataD)?整数