Argparse: Поданализатор с глобальным аргументом, где позиция не имеет значения.Python

Программы на Python
Anonymous
 Argparse: Поданализатор с глобальным аргументом, где позиция не имеет значения.

Сообщение Anonymous »

Я объясню проблему на примере. Предположим, у нас есть следующий код для случайной программы на Python:

Код: Выделить всё

import argparse

parser = argparse.ArgumentParser(prog="webduino-generator",
description="Webduino source builder")
# Global arguments
parser.add_argument("-v", "--verbose",
action="store_true", dest='verbose',
help="Enable verbose output")

subparsers = parser.add_subparsers(dest="command")

parser_build = subparsers.add_parser("build", help="Build it")
parser_open = subparsers.add_parser("open", help="Open it")

# Check arguments
args = parser.parse_args()
print(args)
Теперь с помощью этого парсера я могу это сделать

Код: Выделить всё

program.py -v open
и это здорово! Однако я не могу

Код: Выделить всё

program.py open -v
Кроме того, родительский/глобальный аргумент -v не будет указан на странице справки субпарсера.
Есть ли способ заставить это работать и добавить его на страницу справки субпарсера?>

Подробнее здесь: https://stackoverflow.com/questions/633 ... not-matter

Вернуться в «Python»