У меня есть инструмент командной строки, созданный с помощью библиотеки Python click. Я хочу расширить этот инструмент, чтобы использовать определяемые пользователем ключевые слова, такие как следующие:
$ my-cli --foo 10 --bar 20
Обычно я добавляю следующий код в свою команду
@click.option('--foo', type=int, default=0, ...)
Однако в моем случае есть несколько ключевых слов, которые определяются пользователем. Я не буду знать, что пользователь хочет заранее указать foo или bar или что-то еще.
Одно решение
В настоящее время моим лучшим решением является использование строк и выполнение собственного синтаксического анализа.
$ my-cli --resources "foo=10 bar=20"
Что будет работать, но немного менее приятно.