我查找了几个软件包(sphinx-gallery,autoprogram,...),但没有发现如何轻松地使用python脚本中的docstring来获取文档。所以我想以某种方式对特定文件进行autodoc
。
有人知道从python脚本中自动生成sphinx文档的可能性吗?
就像我在脚本开头有一个docstring,也许有一些带有docstrings的函数,只是想自动生成一些文档,就像我可以使用.. automodule::
指令一样,但不幸的是,这不适用于相对路径/脚本。
我想创建一些文档字符串的脚本不是cli脚本,它只是一些python脚本,它们通常被cron作业调用。所以不幸的是,就我看来,自动程序在这里无济于事。
好的,所以现在我在重新阅读文档并试图解决之后对此有了更清楚的认识。我想要做的是自动获取python文件的docstring并将其放入文档而不执行整个文件(因为某些原因我不能或不想隐藏一切背后的内容)主要例程)。我有autodoc来记录一个特定的文件(有一些错误的配置,为什么没有用),但如其文档中所述,它执行文件。那是我真正的问题。如果有一个解决方案可以实现这一点,我会很高兴,但如果没有大的努力,这是不可能的。
答案 0 :(得分:1)
我想要做的是自动获取python文件的文档字符串并将其放入文档中,而无需执行整个文件。
您不能那样做。要从模块获取文档字符串,需要导入该模块。导入模块将执行整个文件。
如果您不希望在“简单导入”时执行代码,则可以使用if __name__ == __name__
块或基于setuptools entry_point
的自动脚本生成。