Я работаю над инструментом CLI Python, который использует библиотеку кликов.
Я хочу иметь опцию --opt1
, которая работает следующим образом:
- Если я запускаю программу без этого, ее значение должно быть
None
. - Если я запускаю программу таким образом
script --opt1
, ее значение должно быть значением по умолчанию. - Если я указываю значение для параметра, я имею в виду, что если я запускаю скрипт таким образом,
script --opt1=value
его значение должно бытьvalue
.
Поэтому я добавил следующую опцию:
@click.option(
"--opt1",
metavar="PATH",
default="opt1-default",
type=click.Path(exists=True, resolve_path=True),
show_default=True,
)
Но когда я запускаю команду с параметром --opt1
, я получаю следующую ошибку:
Usage error: --opt1 option requires an argument
, хотя --opt1 --help
показывает значение по умолчанию:
Options:
--opt1 PATH [default: opt1-default]
В чем тут может быть дело?
Спасибо.
--opt1
. Если вы ставите--opt1
, вам нужно присвоить ему значение. - person rassar   schedule 20.03.2020