2011-05-11 9 views

Respuesta

0

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

+0

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

+0

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

Cuestiones relacionadas