Как определить помощь программы CLI в __doc__? - PullRequest
0 голосов
/ 17 ноября 2009

Я хотел бы сделать что-то вроде этого:

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 ]

4 голосов
/ 17 ноября 2009

Поскольку __doc__ является атрибутом функции , а не локальной переменной. Вы должны называть это main.__doc__ следующим образом:

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

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

if __name__ == "__main__":
    main()
2 голосов
/ 17 ноября 2009

Если справка, которую вы хотите распечатать, является «глобальной», вам может показаться более логичным поместить ее в качестве основной документации для вашей программы:

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

if __name__ == '__main__':
    print __doc__

__doc__ - это глобальная переменная, которая содержит строку документации вашего скрипта.

...