【问题标题】:How to define the help of the CLI program in the __doc__?如何在 __doc__ 中定义 CLI 程序的帮助?
【发布时间】:2009-11-17 07:58:09
【问题描述】:

我想做这样的事情:

def main():
    """
    Display Information about a Google Calendar

     -u --user login     Google Login
     -p --pass password  Google Password
     -d --debug          Set DEBUG = True
     -h --help           Display this help
    """

    print(__doc__)

if __name__ == "__main__":
    main()

但答案是:None ... 为什么?

【问题讨论】:

标签: python documentation-generation command-line-interface


【解决方案1】:

因为__doc__ 是函数的属性,而不是局部变量。您需要将其称为main.__doc__,如下所示:

def main():
    """Display Information about a Google Calendar

    ..."""
    print(main.__doc__)

if __name__ == "__main__":
    main()

【讨论】:

    【解决方案2】:

    如果您要打印的帮助是“全局的”,您可能会发现将其作为程序的主要文档更合乎逻辑:

    #!/usr/bin/env python
    """
    Display Information about a Google Calendar
    ...
    """
    
    if __name__ == '__main__':
        print __doc__
    

    __doc__ 是一个包含脚本文档字符串的全局变量。

    【讨论】:

    • 好的,现在我看到了区别,但是最好的办法是什么?
    • @Natim 你想让pydoc my_prog 显示什么?如果您希望它首先显示整个程序的文档,则使用 global 文档字符串会更简单。如果你不这样做,读者必须猜测 main() 的文档是你的程序的文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    相关资源
    最近更新 更多