1
Amy 原创整理|资料核验:2026-11-02
Python的pydoc为了查找对象和文档,会导入目标模块。因此,模块顶层的代码也会在生成文档时执行;“只是看帮助”并不等于静态读取一段文本。官方建议用if __name__ == '__main__':保护只应在直接运行脚本时执行的代码。
Amy建议:把命令行入口里的文件写入、网络请求或任务启动放进明确的main函数,并用入口判断调用。这样别人导入你的模块或生成文档时,较不容易意外触发整段流程。
另外,pydoc按当前Python环境和路径查找模块,看到的对应的是该环境会导入的版本。排查文档与实际行为不符时,先核对解释器和环境;不要拿来源不明的代码直接生成文档来试探是否安全。