2012-01-27 4 views
15

Я пытаюсь сделать мой скрипт python очень удобным для пользователя, поэтому мне нравится писать для него какую-то помощь. Что вы посоветуете для этого? Я мог бы просто добавить некоторую логику, что если пользователь передал помощь в качестве параметра для скрипта, они получат помощь. Есть ли для этого наилучшая практика или конвенция?Написание справки для скрипта python

ответ

26

argparse.

Например, с test.py:

import argparse 

parser=argparse.ArgumentParser(
    description='''My Description. And what a lovely description it is. ''', 
    epilog="""All's well that ends well.""") 
parser.add_argument('--foo', type=int, default=42, help='FOO!') 
parser.add_argument('bar', nargs='*', default=[1, 2, 3], help='BAR!') 
args=parser.parse_args() 

Запуск

% test.py -h 

дает

usage: test.py [-h] [--foo FOO] [bar [bar ...]] 

My Description. And what a lovely description it is. 

positional arguments: 
    bar   BAR! 

optional arguments: 
    -h, --help show this help message and exit 
    --foo FOO FOO! 

All's well that ends well. 
6

Лучшая практика заключается в использовании argparse обрабатывать все ваши аргументы командной строки. Он включает в себя по умолчанию --help, который вы можете настроить по своему вкусу.

Вот простейший пример:

import argparse 

parser = argparse.ArgumentParser(description='This is my help') 

args = parser.parse_args() 

Какие результаты в:

% python argparse_test.py -h 
usage: argparse_test.py [-h] 

This is my help 

optional arguments: 
    -h, --help show this help message and exit 

Вы можете задать все ваши аргументы с argparse и установить сообщение справки для каждого из них. Полученные отфильтрованные/проверенные аргументы возвращаются parser.parse_args().

Смежные вопросы