【问题标题】:How to trim leading path for sphinx automodule members如何修剪狮身人面像自动模块成员的前导路径
【发布时间】:2018-03-27 14:12:47
【问题描述】:

在使用自动模块时,是否有指令或方法可以从函数中修剪部分导入路径?

例如,当使用自动模块指令时,我有这样的事情:

.. automodule:: super.cool.thing.my_module
    :members:
    :undoc-members:

这很好地生成了包含模块中函数的文档,但显示了完整路径。如果我将 add_module_names 设置为 False,它会完全删除所有路径信息,只留下函数名。如果您在多个模块中有类似的命名函数,这可能会有点令人困惑。因此,我希望函数只显示导入路径的一部分。所以不要这样:

super.cool.thing.my_module.my_function(a, b, c)

我只想:

my_module.my_function(a, b, c)

使用 add_module_names 指令只是显示:

my_function(a, b, c)

这在我的用例中是不可取的。提前感谢您的帮助。

【问题讨论】:

    标签: python-sphinx


    【解决方案1】:

    这是通过使用 config.py 文件中的 sys.path.insert() 来完成的。

    从上面的例子中你注册了路径:

    sys.path.insert(0, os.path.abspath('/some/path/super/cool/thing'))
    

    在 Sphinx 指令中,您修剪上面已经描述的路径:

    .. automodule:: my_module
        :members:
        :undoc-members:
    

    这将生成具有所需缩短函数名称的文档:

    my_module.my_function(a, b, c)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多