Вы можете запустить интерактивную консоль из script с помощью следующего кода:
import code
# do something here
vars = globals()
vars.update(locals())
shell = code.InteractiveConsole(vars)
shell.interact()
Когда я запускаю script следующим образом:
$ python my_script.py
открывается интерактивная консоль:
Python 2.7.2+ (default, Jul 20 2012, 22:12:53)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
В консоли есть все глобальные и локальные загружаемые, что отлично, так как я могу легко тестировать материал.
Проблема заключается в том, что стрелки не работают, как обычно, при запуске консоли Python. Они просто отображают экранированные символы на консоли:
>>> ^[[A^[[B^[[C^[[D
Это означает, что я не могу вспомнить предыдущие команды, используя клавиши со стрелками вверх/вниз, и я не могу редактировать строки с помощью клавиш со стрелками влево/вправо.
Кто-нибудь знает, почему это и/или как этого избежать?