У меня есть код:Необязательный аргумент после subparsers в argparse
parser = ArgumentParser()
parser.add_argument('--verbose', action='count', default=0, help='debug output')
subparsers = parser.add_subparsers(help='subparser')
parser1 = subparsers.add_parser('action', help='Do something')
parser1.add_argument('--start', action='store_true', help='start')
parser1.add_argument('--stop', action='store_true', help='stop')
parser2 = subparsers.add_parser('control', help='Control something')
parser2.add_argument('--input', action='store_true', help='start')
parser2.add_argument('--output', action='store_true', help='stop')
args = parser.parse_args()
Тогда я могу запустить скрипт:
script.py --verbose действие --start
script.py - -вербоборудование - выход
но не
script.py действие --start --verbose
контроль script.py --output --verbose
Могу ли я передать опцию --verbose до конца, без добавления его в каждая группа?
Считаете ли вы использование библиотеки обертки, такой как [argh] (https://pypi.python.org/pypi/argh)? – Gribouillis
Я бы не хотел – deniska369
Я бы дал окончательный 'no', за исключением того, что я не могу запускать тесты или проверять код из этого планшета. По-моему, я мог бы с' qpython', но было бы болью вводить все. объяснение заключается в том, как синтаксический разбор передается субпаратору. – hpaulj