Как написать оболочку на Python - PullRequest
23 голосов
/ 07 апреля 2010

Я написал небольшое консольное приложение, которое может выполнять определенные задачи. Пользовательский интерфейс похож на такие вещи, как системы контроля версий или yum и т. Д. Так что в основном вы можете думать о нем как о предметно-ориентированном языке. Теперь я хотел бы написать оболочку (похожую на bash), которая может выполнять и автоматически завершать этот язык и имеет историю команд (поэтому мне не нужно загружать и сохранять довольно большие файлы xml для каждой команды). Короче говоря, я хочу что-то вроде ipython, но не для выполнения кода на python, а для моего собственного DSL.

Существуют ли библиотеки, которые помогают мне в этом? Я вижу, что в python есть модуль readline и rlcompleter, но его документация указывает, что это только для использования с самой оболочкой python, или я что-то там пропустил?

Ответы [ 2 ]

22 голосов
/ 07 апреля 2010

Вы должны проверить модули cmd и cmd2 . Я думаю, что они будут делать то, что вы хотите. Был разговор о PyCon об этом.

3 голосов
/ 07 апреля 2010

Если вам нужен доступ к административной оболочке через сеть Скрученный люк фреймворка Python является хорошим решением. Пример:

http://www.devshed.com/c/a/Python/SSH-with-Twisted/3/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...