Я хотел бы проанализировать необязательный аргумент с несколькими значениями с docopt
. Ниже приведен пример использования.
my_program.py --loc pcg acc
# or anything that achieve similar result
и после синтаксического анализа, я ожидаю, что у меня будет такой список Python, как
arguments["--loc"] = ["pcg", "acc"]
Я просмотрел и выяснил, выполнимо ли это в argparse
, передав nargs
аргумент.
Я не смог найти аналогичного способа в docopt
, это выполнимо в docopt
? Если нет, какова альтернатива?
Альтернатива, о которой я могу подумать, - попросить пользователя указать значение, разделенное запятой, и вручную разбить его во время синтаксического анализа, как показано ниже.
my_program.py [--loc=<comma_separated_str>]
В python
код
locs = arguments["--loc"].split(",") if arguments["--loc"] else []
Однако, это кажется уродливым, поэтому я ищу правильный способ сделать это с docopt
.