Pregunta

Estoy trabajando desde el interior de una cáscara ipython ya menudo que volver a cargar los archivos de comandos que contienen mis funciones en construcción.

Dentro de mi main.py tengo:

def myreload ():     execfile ( "main.py")     execfile ( "otherfile.py")

Llamando myreload () funciona bien si ya he corrió en la misma sesión ipython los comandos execfile directamente.

Sin embargo, por alguna razón, si la sesión es fresco y me acaba de llamar execfile ( "main.py"), entonces myreload () en realidad no realizar las funciones desde el interior otherfile.py disponible. No tirar cualquier error sin embargo.

¿Alguna idea?

¿Fue útil?

Solución

Funciones crear un nuevo ámbito de aplicación. execfile() ejecuta el script en el ámbito actual. Lo que está haciendo no va a funcionar.

Otros consejos

Si usted busca para aprender el uso correcto real de ipython (es decir, en modo interactivo), entonces debería usar comandos mágicos como:

%run

y

%edit

Comprobar ayuda para esas funciones con %run?. Esto proporciona ejemplos explícitos.

http://ipython.org/ipython-doc/stable/ interactiva / tutorial.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top