literalinclude:如何使用pyobject只包含一个变量?

时间:2015-07-22 11:32:26

标签: python python-sphinx restructuredtext

我正在使用Sphinx记录部分Python代码。

我想在我的文档中只包含我班级的变量。

例如,我试过这个但没有成功:

.. literalinclude:: MyClass.py
    :pyobject: MyClass.aVariable
    :language: python

我只看到一个解决方案,但如果我的代码在下一个版本中发生变化,变量的行号可能会发生变化:

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

是否有其他解决方案只过滤此变量?

1 个答案:

答案 0 :(得分:2)

作为解决方法,我使用start-after和end-before选项,但我必须在变量之前和之后的代码中添加两条注释。

例如:

班级:

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

它并不完美,但它确实有效。