Модуль аргументов клика в Python не работает с дефисом - PullRequest
0 голосов
/ 04 мая 2019

Попытка передать несколько аргументов моему скрипту Python с помощью модуля click.

@click.command()
@click.argument('arguments', nargs=-1)
def cli(arguments):
    """CLI for git"""
    cmd = create_command(arguments)
    _execute_command(cmd)

выполнено под данной командой

opsgit git checkout -b pvt_test

Получена ошибка ниже:

Usage: opsgit git [OPTIONS] [ARGUMENTS]...
Try "opsgit git --help" for help.

Error: no such option: -b

Может кто-нибудь дать мне знать, как решить эту проблему.

1 Ответ

0 голосов
/ 07 мая 2019

Вам не хватает флага ignore_unkown_options.Вот ваш пример с добавленным флагом.Проверьте документы для получения дополнительной информации о том, как использовать Nargs.

import click
@click.command(context_settings=dict(
    ignore_unknown_options=True,
))
@click.argument('arguments', nargs=-1)
def cli(arguments):
    """CLI for git"""
    cmd = click.create_command(arguments)
    _execute_command(cmd)
...