python - 如何将 Python 的帮助页面直接打印到标准输出?

标签 python unix stdout

我正在尝试编写一个 Unix 脚本,让我可以打印给定模块的 Python 帮助页面。到目前为止,我的代码如下:

#!/usr/bin/env python

if __name__ == "__main__":
    import sys
    if sys.argv[1].endswith(".py"):
        __import__(sys.argv[1][:-3])
        help(sys.argv[1][:-3])
    else:
        __import__(sys.argv[1])
        help(sys.argv[1])

它几乎如我所愿地工作——在模块上调用它会在缓冲区中拉出帮助页面,类似于调用 less。 (换句话说,help 的工作方式与在解释器中使用时完全一样。)

我想要的是摆脱缓冲区并直接打印到标准输出,这样我就可以将该命令与其他 Unix 命令一起使用。我想知道是否有办法做到这一点,如果有,怎么做?

最佳答案

这对我有用:

import pydoc

import math # test
print(pydoc.render_doc(math))

关于python - 如何将 Python 的帮助页面直接打印到标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9658432/

相关文章:

c - Perl system() 需要 stdout 刷新

python - 将列表从 ord 转换为 List

python - Networkx 图形绘制节点权重

regex - perl - 提取字符串列表

macos - 为什么 MacOS 上的 unexpand 可以在没有 "-a"参数的情况下更改内部空间?

linux - 谷歌浏览器 Linux 的永久标志

windows - 在批处理文件中读取标准输入流

python - 为什么没有 OpenBLAS 的 numpy/scipy 更快?

python - 在导入中绕过 Python 导入的方法?

c# - 如何在 C# 中重定向 IronPython 的标准输出?