2011-04-14 3 views
2

J'ai écrit un script en python avec un fichier wx.Frame, et il a une fonction de sortie qui appelle sys.exit() lorsque l'utilisateur a cliqué sur le bouton de fermeture. J'aimerais pouvoir exécuter ce script à partir d'iPython, mais lorsque l'utilisateur clique sur le bouton de fermeture, sys.exit() tue le script python en cours d'exécution ainsi qu'iPython. Que pourrais-je utiliser à la place de sys.exit() pour ne tuer que le script python, pas iPython?Comment tuer un script python sans tuer iPython?

Merci!

Répondre

1

Je ne suis pas familier avec iPython mais avec un peu de recherche j'ai trouvé une page: http://ipython.scipy.org/moin/InterupptingThreads, je déduis de cela que tout ce que vous pourriez avoir à faire est "raise SystemExit".

+0

Utile, mais je voudrais mentionner que sys.exit est équivalent à élever un SystemExit; il le dit si vous lancez 'help (sys.exit)'. Pas tout à fait sûr pourquoi cela fonctionne pour moi mais pas l'OP – Jishnu