1

我能找到的只是这个参考:

是否可以在 Python 中使用 POD(普通旧文档)?

看起来您必须生成一整套单独的文档才能与代码一起使用。

我想尝试使用 Python 来制作 cmdline 实用程序,但是当我使用 Perl 执行此操作时,我可以将文档直接嵌入源代码中,并将 Pod2Usage 模块与 Getopt 一起使用,这样我的任何脚本都可以像这样运行:

cmd --man

这会触发 pod 系统以手册页格式转储嵌入在脚本中的文档。它还可以生成较短(概要)或中等格式。

看起来我可以使用 pydoc 代码并对其进行逆向工程来完成任务(至少显示完整的文档),但我希望已经存在更好的东西。

4

2 回答 2

2

python-modargs包允许您创建自记录的命令行界面。您为每个要使用的命令定义一个函数,该函数的文档字符串将成为该函数的帮助文本。函数的关键字参数成为命名参数,python-modargs 将在关键字参数之后解析内联注释以作为该参数的帮助文本。

我使用 python-modargs 为 dexy 生成命令行界面,这里是定义命令的模块: https ://github.com/ananelson/dexy/blob/027954f9234363d506225d40b675b3d6478994f4/dexy/commands.py#L144

您需要实现一个 help_command 方法来获取生成的帮助,它是一个 1-liner。

于 2012-11-08T23:15:07.610 回答
0

我认为pydoc可能是您正在寻找的。

它当然与 POD 不太一样,因为您必须调用pydoc本身(例如pydoc myscript.py),但我想这可能是一个很好的起点。

当然,您始终可以通过从脚本导入并使用它的函数/类来为脚本添加 pydoc 支持。查看pydoc 自己的 cli 实现以获得最佳示例。

于 2012-11-08T00:22:06.673 回答