Использование нескольких флагов для одного и того же аргумента функции, запущенной через python-fire - PullRequest
0 голосов
/ 23 марта 2019

Я использую библиотеку Google Python-Fire для автоматизации Cli.

У меня есть функция, скажем, внутри code.py:

def foo(input_path='some default value'):
    doing something...

def main():
    fire.Fire(foo)

Теперь я могу использовать $ pythoncode.py foo --input-path 'somepath'

Но теперь я хочу добавить сокращенную запись -i для той же задачи.Как мне этого добиться?

1 Ответ

0 голосов
/ 30 марта 2019

CLI, генерируемый python-fire, полностью основан на именах аргументов, определенных в сигнатуре функции.

После небольшого исследования я нашел эту проблему . Это PR по существу добавляет эту функциональность, но текущая версия, выпущенная на pypi или conda, не включает эту функцию. Это будет добавлено в следующем выпуске.

В настоящее время можно использовать первую букву вашего аргумента в сокращенной записи только для типов bool. Также обратите внимание, что пожар вызывает конфликтную ошибку в случае нескольких флагов, начинающихся с одной и той же первой буквы (если используется сокращенная запись).

...