Настраиваемая интерактивная оболочка с автозаполнением
Мне было поручено создать интерактивную оболочку для встраивания в python, чтобы при вызове из командной строки она помещалась в эту оболочку. Кто-нибудь может порекомендовать мне библиотеку, которая делает это?
Мне понадобится возможность создавать пользовательские слова, "действия", поэтому, когда пользователь вводит эти слова, моя программа может выполнить правильную функцию, которую я создал. Мне также хотелось бы иметь возможность автоматического завершения / завершения табуляции для пользовательских слов, которые я создал.
Пример:
$ python myapplication.py
$ myapp>
$ myapp> help
... prints the help menu
$ myapp> run service blah
.. service blah runs ...
$ myapp> exit
$
2 ответа
Решение
Python Prompt toolkit - очень хороший модуль для использования, когда вы хотите создать полнофункциональную интерактивную оболочку. Он поставляется со всеми необходимыми функциями, такими как:
- Автозаполнение (с визуальными выпадающими списками)
- История команд и поиск
- Работает кроссплатформенный