这与How to document a module constant in Python?有些相关但不相同。
我在模块中有一个常量(它是一个字典):
possiblestringencodings = dict(
StringsAsBytes=1,
ascii=1,
utf8=1, utf_8=1, U8=1,
utf16=2, utf_16=2, U16=2, utf_16_be=2, utf_16_le=2,
utf32=4, utf_32=4, U32=4, utf_32_be=4, utf_32_le=4,
)
readthedocs页面有(see autodata docs):
.. autodata:: construct.possiblestringencodings
但是,这会从dict docstring(它的ctor)生成docstring。如何使用Sphinx记录该词典的内容,只包括其项目?
如果有人想测试补丁,只需将repo分叉并在docs /文件夹中运行“make html”。 https://github.com/construct/construct/blob/1b53d9122a2c652db64c6558d101caee5bbbab3a/construct/core.py#L1280 https://github.com/construct/construct/blob/1b53d9122a2c652db64c6558d101caee5bbbab3a/docs/api/strings.rst
答案 0 :(得分:2)
字典数据成员没有文档字符串,因此您可以从dict
类中获取文档字符串。
在定义之前立即添加一个空的“documentation comment”(或紧跟在后面的文档字符串),并且只会在输出中获取字典项。
#:
possiblestringencodings = dict(
StringsAsBytes=1,
ascii=1,
utf8=1, utf_8=1, U8=1,
utf16=2, utf_16=2, U16=2, utf_16_be=2, utf_16_le=2,
utf32=4, utf_32=4, U32=4, utf_32_be=4, utf_32_le=4,
)
您还需要完全限定“核心”模块:
.. autodata:: construct.core.possiblestringencodings