Parece que cancelaron en Python 3 toda la manera fácil de cargar rápidamente un script eliminando execfile()
¿Hay una alternativa obvia que me falta?
%run script_name
funciona con todas las versiones de Python.
imp
es importlib
(que debe importarse): importlib.reload(mod_name)
importa y ejecuta mod_name
.
runfile()
ya que necesitaba ejecutar un script de Python que se ejecute en su propio espacio de nombres (en lugar de ejecutarse en el espacio de nombres de llamada ). Mi solicitud: agregar el directorio del script llamado a la ruta del sistema ( sys.path
) mediante el __file__
atributo: si usamos execfile()
o su equivalente en Python 3 ( exec(open('file.py').read())
) del script incluido se ejecuta en el espacio de nombres llamando y por lo tanto __file__
resuelve al llamar a nombre de archivo.
reload
está de vuelta, comoimp.reload
, desde 3.2.