Расширение интерактивной оболочки Python

1

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

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

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

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

Где я должен искать? Идеальное решение Python идеально.

  • 0
    IPython делает именно это. Я бы начал с проверки его классов InteractiveShell и Magic .
Теги:
interactive
readline

1 ответ

1
Лучший ответ

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

  • 0
    Похоже, это будет здорово - выглядит как чистый питон! Спасибо :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню