如何使用 pydoc 递归生成整个项目的文档?

问题描述 投票:0回答:2

我在名为“Project 1”的特定文件夹中有一个 python 项目。我想提取该项目中所有 python 文件的所有文档字符串。

在这个项目中,所有模块都是通过

__init__.py
动态导入的,因此,当我运行 pydoc 时,导入失败。

python-3.x pydoc
2个回答
1
投票

python -m pydoc -w module_folder/
适用于某些场景,但并非全部。例如,如果您想记录已安装软件包的模块和子模块,它将无法工作,您需要转向不同的工具。

使用您最喜欢的语言,您需要:

  1. 遍历目标文件夹中的文件
  2. 每个(子)模块调用 pydoc 一次

这是 Github 上的众多示例之一

Pdoc、pydoctor 都自动处理遍历文件夹,我的 pydoc 分支默认遍历模块依赖关系树。


0
投票

我找到了方法。

1/
在源代码的根目录中创建一个模块

doc_generator.py

2/
将此代码粘贴到新创建的模块中:

import pydoc
path = "."  
pydoc.writedocs(path)

3/
执行模块。

它应该为每个模块创建一个 html,并包含所有包。
收集创建的所有 html 文件...这是您的文档。

© www.soinside.com 2019 - 2024. All rights reserved.