Python literalinclude:如何使用pyobject仅包含变量?

Python literalinclude:如何使用pyobject仅包含变量?,python,python-sphinx,restructuredtext,Python,Python Sphinx,Restructuredtext,我正在使用Sphinx来记录Python代码的部分内容 我只想在文档中包含类中的一个变量 例如,我尝试了这个方法,但没有成功: .. literalinclude:: MyClass.py :pyobject: MyClass.aVariable :language: python 我只看到一种解决方案,但如果我的代码在下一版本中更改,变量的行号可能会更改: .. literalinclude:: MyClass.py :language: python :li

我正在使用Sphinx来记录Python代码的部分内容

我只想在文档中包含类中的一个变量

例如,我尝试了这个方法,但没有成功:

.. literalinclude:: MyClass.py
    :pyobject: MyClass.aVariable
    :language: python
我只看到一种解决方案,但如果我的代码在下一版本中更改,变量的行号可能会更改:

.. literalinclude:: MyClass.py
    :language: python
    :lines: 2-3

是否有另一种仅过滤此变量的解决方案?

作为解决方法,我使用“开始之后”和“结束之前”选项,但我必须在代码中变量之前和之后添加两条注释

例如:

班级:

class MyClass():
    # Start variables
    aVariable = {"a":123 , "b":456}
    # End variables 
        def __init__(self):
            pass
RST文件:

.. literalinclude:: MyClass.py
    :start-after: # Start variables 
    :end-before: # End variables 
    :language: python

它不是完美的,但它可以工作。

如果包含一个方法而不是一个变量,它可以工作吗?@mzjn是的,我尝试了:pyobject:MyClass.\uuu init\uuuuu,它可以工作。对我来说也是一样的。它可能是一只虫子;我不确定。文件中没有提到变量;它说“您可以使用pyobject选项选择要包含的类、函数或方法”()。