Я хотел бы проанализировать необязательный аргумент с несколькими значениями с помощью 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
.