Я бы хотел расширить интерактивную оболочку Python, чтобы позволить выполнение не-специфических для Python операторов или команд. Идея заключается в том, что если вы наберете что-то в приглашении, которое вызовет NameError
, то, что вы ввели, может быть проанализировано для известных внешних команд, и только если не найдется внешняя команда, поднимите NameError
.
Я не совсем уверен, с чего начать, я попытался вызвать code.InteractiveConsole().interact()
внутри try: / except NameError
, но это не сработало
Я прочитал документацию для модуля cmd
, но я выгляжу так, как будто он спроектирован JUST для вызова внешних команд и игнорирует операторы python.
Цель - простая (для очень маленькой системы без GUI) командная оболочка, которая может быть написана с помощью python (а не sh)
Где мне искать? Чистое решение на Python идеально.