Если у меня есть Argparse установки, как следующее:Как передать под-аргументы функции по умолчанию для пар-парсера?
parser = argparse.ArgumentParser(description='test.')
subparsers = parser.add_subparsers(help='sub-command help')
parser_somethingX = subparsers.add_parser('somethingX', help='generate X')
parser_somethingY = subparsers.add_parser('somethingY', help="generate Y")
parser_somethingZ = subparsers.add_parser('somethingZ', help='generate Z')
parser_somethingZ.add_argument('N', type=int,help='times to loop')
parser_somethingZ.set_defaults(func=execute_z)
args = parser.parse_args()
Давайте предположим, что пользователь вызывает мой сценарий с:
myScript.py somethingZ 1000
Что такое правильное/наилучшей практике, как назвать мой функция execute_z но также передать его под-аргумент N?
Обратите внимание, что для суб аргумента somethingZ Я настроил вызов функции по умолчанию, чтобы быть execute_z, но как я могу передать эту функцию необходимые Followup суб-аргументов, а? А именно, n? Поскольку определение функции является:
def execute_z(n):
# n is an integer value definining number of times to loop
Типичный вызов мой сценарий будет:
myScript.py somethingZ 300
Как передать в somethingZ?