You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让pydoc仅生成指定模块及其子模块的文档,排除测试目录并自定义输出路径

pydoc文档生成需求解决方案

核心思路

pydoc本身没有提供目录排除、输出路径指定的原生参数,我们可以通过文件遍历工具批量筛选目标源文件,统一调度pydoc生成后归集到指定目录,全程不需要手动维护文件列表。

Bash 脚本(适配Linux/macOS/WSL)

直接替换你仓库内的generate_docs.sh内容即可:

#!/bin/bash
mkdir -p docs
find . -type f -name "*.py" ! -path "*/tests/*" | while read -r pyfile; do
    python -m pydoc -w "$pyfile"
    mv "${pyfile%.py}.html" docs/
done

Windows PowerShell 脚本

如果在Windows环境运行,保存为generate_docs.ps1执行:

New-Item -ItemType Directory -Path docs -Force | Out-Null
Get-ChildItem -Recurse -Filter *.py | Where-Object { $_.FullName -notmatch '\\tests\\' } | ForEach-Object {
    python -m pydoc -w $_.FullName
    $htmlName = $_.BaseName + ".html"
    Move-Item -Path $htmlName -Destination docs/ -Force
}

补充说明

  • 脚本会自动识别所有非/tests/目录下的Python源文件,新增代码文件不需要修改脚本
  • 所有生成的HTML文档会统一存放在/docs/目录,不会污染源码根目录
  • 你提到的绝对路径链接问题属于pydoc原生限制,如果需要调整为相对路径,可以在上述脚本末尾增加正则批量替换规则,批量修改生成的HTML文件内的链接前缀即可。

内容的提问来源于stack exchange,提问作者MatthewMartin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 02:06:03