如何通过从源代码中提取信息来记录Python包

2024-04-26 18:22:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要记录一个Python包。这个包有基本的docstring,用于提供描述等信息的类和方法。但文件要求包含其他信息,例如:

1)必须从类的特定参数中提取的信息。这些类可以从其他类继承,在这种情况下,这些参数必须结合类和父类的参数值。你知道吗

2)将共享公共父类的所有类分组到单个页/类别中。这些可能不一定在单个子模块中,也可能分布在包中(不是我接受的最佳设计;但我正在处理一个无法重构的现有包)。你知道吗

这样做的目的是避免手动生成这些docstring,并从源代码本身提取这些docstring。我以前使用过Sphinx和autodoc,后者(我相信)确实导入了模块本身并评估了内容。但是,据我所知,它只是提取现有的docstring。你知道吗

Sphinx/autodoc或其任何其他扩展能否满足我的要求?如果是这样的话,你能给我举个例子来说明这一点吗。如果没有,我还有什么选择?我的备份计划(非常初级)是编写一个Python脚本,它将导入我的包,标识所有类,并从必要的参数构造一个文档页。但我觉得我会在这里重新发明轮子。你知道吗


Tags: 模块文件方法目的信息参数sphinx记录