gpt4 book ai didi

python - 如何使用带 Sphinx 的自动模块删除静态类变量?

转载 作者:行者123 更新时间:2023-12-04 01:27:07 26 4
gpt4 key购买 nike

我目前正在使用 Sphinx(第一次使用它)为我的模块构建文档,并且我有一些类具有一些使用默认值初始化的类变量。

例如:

class ConfigSettings(object):
"""Class that manages a config file
"""
#: Contains the path to the config file (root dir of module)
path = Path(util.getAbsCurrentPath('configfile.ini'))

构建文档时,会评估变量并打印我不想要的文件的完整路径(出于安全原因)。有没有办法不显示变量值,而只显示使用 Sphinx 的注释?

我尝试了 .. autoclass:.. autodata: 的各种组合,但到目前为止它们都不起作用......

这是我目前在我的构建文件中的内容:

Config module
----------------------------

.. automodule:: lib.config
:members:
:undoc-members:
:show-inheritance:

最佳答案

使用 Sphinx 指令的最简单方法是使用注释或排除成员。

除非严格要求阻止变量在模块导入时自初始化,否则因为您想要呈现它的方式而更改您的 Python 源代码是不正确的。如果您的 Python 源代码是正确的,则调整您的 .rst 文件以自定义表示。

你的模块.py

from pathlib import Path


class YourClass:

#: This comment is documented with the member.
path = Path('your_path', 'configfile.ini')

your_module.rst(显示 2 种可能的方式)。

your_module
===========

.. automodule:: your_module
:exclude-members: YourClass

.. autoclass:: YourClass
:exclude-members: path

In this example you use an annotation while excluding from autoclass.

.. autoattribute:: path
:annotation: ='write your path here'

.. autoclass:: YourClass
:noindex:
:exclude-members: path

In this example you simply exclude from autoclass.

结果:

enter image description here

关于python - 如何使用带 Sphinx 的自动模块删除静态类变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61702285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com