Расширение интерактивной оболочки Python - PullRequest
1 голос
/ 25 мая 2011

Я бы хотел расширить интерактивную оболочку Python, чтобы позволить выполнение не-специфических для Python операторов или команд. Идея заключается в том, что если вы наберете что-то в приглашении, которое вызовет NameError, то, что вы ввели, может быть проанализировано для известных внешних команд, и только если не найдется внешняя команда, поднимите NameError.

Я не совсем уверен, с чего начать, я попытался вызвать code.InteractiveConsole().interact() внутри try: / except NameError, но это не сработало

Я прочитал документацию для модуля cmd, но я выгляжу так, как будто он спроектирован JUST для вызова внешних команд и игнорирует операторы python.

Цель - простая (для очень маленькой системы без GUI) командная оболочка, которая может быть написана с помощью python (а не sh)

Где мне искать? Чистое решение на Python идеально.

1 Ответ

1 голос
/ 25 мая 2011

Посмотрите эту документацию: http://ipython.scipy.org/doc/manual/html/interactive/tutorial.htmlКогда он станет использовать python в качестве замены оболочки, я думаю, что это в значительной степени покрыто.

...