使用Python的Sphinx automodule指令时需要不同的模块名称

时间:2017-11-13 20:47:51

标签: python python-sphinx

我的文件布局如下:

for file in filename*.tar.gz; do
    tar ztf "$file" | grep -q file1.txt && echo "$file"
done

我使用Sphinx的/my_module __init__.py submodule1.py submodule2.py 指令,如:

automodule

它生成的文档说我的命令名称类似于:.. automodule:: my_module.submodule1 。但是我的my_module.submodule1.my_function__init__拉入submodule1命名空间。所以我真正想要的是文档说my_module。遗漏my_module.my_function,因为那不是用户将要使用的内容。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:0)

不完全,但你可以接近。 standard cross-referencing syntax中有~(代字号)。

  

如果在内容前加上〜,则链接文本将只是目标的最后一个组件。例如,

:py:meth:`~Queue.Queue.get`
     

将引用Queue.Queue.get,但仅显示get作为链接文字。这不适用于所有交叉引用角色,但是特定于域。

您可以使用替换或原始指令,但这会绕过使用autodoc及其指令的优势。