Il semble qu'ils aient annulé dans Python 3 tout le moyen facile de charger rapidement un script en supprimant execfile()
Y a-t-il une alternative évidente qui me manque?
%run script_name
fonctionne avec toutes les versions de Python.
imp
est importlib
(qui doit être importé): importlib.reload(mod_name)
importe et exécute mod_name
.
runfile()
car j'avais besoin d'exécuter un script Python qui s'exécute dans son propre espace de noms (par opposition à l'exécution sur l' espace de noms appelant ). Mon application: ajoutez le répertoire du script appelé au chemin système ( sys.path
) en utilisant l' __file__
attribut: si nous utilisons execfile()
ou son équivalent en Python 3 ( exec(open('file.py').read())
) le script inclus est exécuté dans l'espace de noms appelant et se __file__
résout ainsi en nom de fichier appelant .
reload
est de retour, puisqueimp.reload
, depuis 3.2.