Python argparse :metavar и action=store _true вместе

Я использую модуль argparse в Python для анализа параметров, введенных в интерфейсе командной строки. У меня есть следующий вызов аргумента add _для объекта подпарсера:

submit_parser.add_argument('-pv','--provision',metavar='PROVISION', dest='PROVISION',
                                 help='provision system',
                                 action='store_true', default=False, required=False)

Я получаю эту ошибку:

Traceback (most recent call last):
  File "./scripts/tp4", line 94, in  
    main()
  File "./scripts/tp4", line 74, in main 
    modloader.loadModules(sub_parsers)
  File "/usr/lib/python2.6/site-packages/tp4/cli/Moduleloader.py", line 66, in loadModules 
    registered_modules[module_name].setSubparserArgs(module_sub_parser)
  File "/usr/lib/python2.6/site-packages/tp4/cli/modules/AutotestModule.py", line 135, in setSubparserArgs
    action='store_true', default=False, required=False)
  File "/usr/share/tp4/cli/zip/argparse.zip/argparse.py", line 1302, in add_argument
    TypeError: __init__() got an unexpected keyword argument 'metavar'

Если я удалю параметры действия или метавара, это сработает. Почему оба не могут быть вместе? В документации по argparse вhttp://docs.python.org/dev/library/argparse.htmlнет ничего об этом ограничении..

Заранее спасибо за любую помощь

10
задан Alan Evangelista 17 August 2012 в 03:32
поделиться