Как я могу выполнить завершение формата «ключ = значение» в Python Prompt Toolkit?Python

Программы на Python
Anonymous
Как я могу выполнить завершение формата «ключ = значение» в Python Prompt Toolkit?

Сообщение Anonymous »

Я пишу интерактивную программу Python с командной строкой. Командные строки, которые вводит пользователь, автоматически заполняются с помощью Python Prompt Toolkit и анализируются с помощью argparse. Существует несколько команд, каждая из которых имеет разный синтаксис и завершение. Для этого у меня есть вложенный метод завершения на верхнем уровне, созданный различными классами-обработчиками.
Я хотел бы реализовать команду в следующем формате

Код: Выделить всё

cmd name [--params [key1=value12] [key2=value21] ...] 
В зависимости от значения «имя» пользователь может указать дополнительные параметры в форме ключ=значение, при этом количество параметров является переменным. Теоретически я смогу сделать это с помощью NestedCompleter и такого словаря:

Код: Выделить всё

    {'key1': {
'value11': None,
'value12': None},
'key2': {
'value21':None,
'value22':None}
}
Тогда я смогу добавить этот словарь к NestedCompleter верхнего уровня.
Проблема в том, что приведенный выше NestedCompleter разделит ключи и значения. с пробелом и не будет работать, если я хочу разделить их знаком «=». Я не уверен, как реализовать NestedCompleter, который может обрабатывать знак «=» как пробел. Есть ли способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/790 ... pt-toolkit

Вернуться в «Python»