Sembra che abbiano cancellato in Python 3 tutto il modo semplice per caricare rapidamente uno script rimuovendolo execfile()
C'è un'alternativa ovvia che mi manca?
%run script_namefunziona con tutte le versioni di Python.
impè importlib (che deve essere importato): importlib.reload(mod_name)importa ed esegue mod_name.
runfile()quando avevo bisogno di eseguire uno script Python che viene eseguito nel suo spazio dei nomi (invece di eseguire sullo spazio dei nomi chiamante ). La mia applicazione: aggiungi la directory dello script chiamato al percorso di sistema ( sys.path) usando l' __file__attributo: se usiamo execfile()o il suo equivalente in Python 3 ( exec(open('file.py').read())) lo script incluso viene eseguito nello spazio dei nomi chiamante e quindi si __file__risolve nel nome del file chiamante .
reloadè tornato, comeimp.reload, dal 3.2.