我在Python项目源代码中有一个字典,它描述了默认的配置值。字典很冗长。除了“查看源代码”之外,我还希望以其他格式查看Sphinx文档中的字典,以便人们可以快速检查默认值。
当与Sphinx autodoc一起使用时,Sphinx是否提供格式化字典变量的选项以用于人类可读的格式?我目前正在使用.. automodule::
转储整个模块,我将字典作为文档中的一个长字符串转储(没有新行,漂亮的打印,任何东西),基本上是不可读的。
这可能不是最优雅的解决方案(编写适当的指令来输出漂亮的打印字典会好得多),但现在这样做:
将here给定的自定义exec指令添加到Sphinx .conf文件中,然后在.rst文件中打印字典,执行以下操作:
.. exec::
import json
from some_module import some_dictionary
json_obj = json.dumps(some_dictionary, sort_keys=True, indent=4)
print '.. code-block:: JavaScript\n\n %s\n\n' % json_obj
这将在您的文档中的JavaScript代码块中打印出您的字典(我发现这是在文档中呈现字典的最佳方式)。
如果不计算字典值并且人类可读如此
FRUITS = {
"Apple": "Red and Delicious",
# note: eating too much orange make your hands orange
"Orange": "A lot of vitamin C"
}
假设你从第15行开始在fruit.py中定义了上面的dict
然后你可以这样做:
.. literalinclude:: ../path-to-file/fruit.py
:language: python
:lines: 15-
:linenos:
并且您将在doc上获得人类可读的值+评论等