Executer un fichier python dans un autre fichier python
Résolu
Bonjour,
Dans le cadre d'un projet je dois faire un programme en python qui génère un autre programme python. Cela fonctionne très bien mais je voudrais savoir si il est possible à la fin de mon programme, ajouter une ligne pour exécuter le programme qui vient d'être créer. J'ai vu à plusieurs endroit qu'on peut utiliser execfile("fichier.py") mais quand je met ça à la fin de mon code j’obtiens une erreur qui me dit que execfile n'est pas défini. Peut-être qu'il faut importer un module qui contient cette fonction ?
Merci à tous ceux qui pourrons m'aider.
Dans le cadre d'un projet je dois faire un programme en python qui génère un autre programme python. Cela fonctionne très bien mais je voudrais savoir si il est possible à la fin de mon programme, ajouter une ligne pour exécuter le programme qui vient d'être créer. J'ai vu à plusieurs endroit qu'on peut utiliser execfile("fichier.py") mais quand je met ça à la fin de mon code j’obtiens une erreur qui me dit que execfile n'est pas défini. Peut-être qu'il faut importer un module qui contient cette fonction ?
Merci à tous ceux qui pourrons m'aider.
1 réponse
-
execfile() fonctionne en python2 mais a été supprimé dans la version 3.
Soit tu execute ton code en python 2, soit il faut executer le contenu du fichier "à la main " :exec(open("./filename").read())-
-
-
-
Bonjour,
La manière propre de garantir qu'un fichier est bien fermé est d'utiliser with.
Voici à quoi ça pourrait ressembler :
filename = "prog.py" # Créer le fichier "prog.py" qui contient: print("Hello") with open(filename, "w") as f: print("print(\"Hello\")", file=f) # Exécuter le code contenu dans "prog.py" with open(filename, "r") as f: code = f.read() exec(code)Exécution :
HelloBonne chance
-