Si lo que quieres es para iniciar un nuevo intérprete de python dentro del intérprete de Python que sólo puede emitir el comando: os.system ('Python')
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__']
>>> import os
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'os']
>>> os.system('python')
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__']
>>> quit()
0
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'os']
>>>
no obstante, si desea reiniciar o restablecer intérprete de Python y no iniciar un nuevo intérprete de Python como se puede ver en esta solución. No lo he explorado pero debería ayudarte a comenzar.
Restarting a Python Interpreter Quietly
inteligente, pero no funciona desde dentro doctest: cuando el niño empieza, se espera la entrada de la entrada estándar. Necesito explorar cómo doctest maneja stdin y stdout para ver si una solución relacionada con popen podría funcionar ... – EHN
La referencia de "Reanudar un intérprete de Python silenciosamente" utilizando la receta de savestate realmente no restablece el estado, por ejemplo no funciona no define ninguna función definida interactivamente. – EHN