如何在__doc__中定义CLI程序的帮助?

时间:2009-11-17 07:58:09

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

我想做这样的事情:

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 ......为什么?

2 个答案:

答案 0 :(得分:4)

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

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

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

if __name__ == "__main__":
    main()

答案 1 :(得分:2)

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

#!/usr/bin/env python
"""
Display Information about a Google Calendar
...
"""

if __name__ == '__main__':
    print __doc__

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