Je voudrais lancer un programme python à partir d'un autre programme python et quitter le programme précédent.Python, lance un programme .py et termine le programme précédent
Voici ce que je l'ai fait:
if(self.start_button.pression==1):
os.system('python program_to_launch.py')
sys.exit()
Le résultat est tout à fait évident, le lancement du programme le « program_to_launch.py » et attendre jusqu'à ce qu'il fini de courir.
Le problème réside dans la boucle while, dans le programme qui vient d'être lancé. Il est fait pour durer indéfiniment.
Voici le problème; le programme précédent attend toujours la fin du nouveau programme, et il ne sera pas exécuté the` sys.exit()
je pourrais tuer le premier programme using`
NOTES:
Suite à la method provided by this answer , je ne peux pas importer le programme pour lancer parce que je veux mettre fin au premier programme
import program_to_launch
Je pense donc que ce n'est pas une solution. Et la commande exec file()
execfile('program_to_launch.py')
comme suggéré dans la réponse liée, il fournit des problèmes d'importer plusieurs modules dans l'exécution de program_to_launch.py
Malheureusement, le programme précédent restent ouverts et freezed, je l'ai utilisé la fonction 'print (« signet »)' voir où le programme arrive dans l'exécution, il arrive avant la sortie '() 'Fonction. Au moins quand je ferme le second programme, le premier programme le ferme aussi. – Ziru93
Note: j'ai aussi essayé 'sys.exit()' – Ziru93
Au lieu de os.system, essayez subprocess.Popen. Il devrait fonctionner même sans le threading – seenorth