|
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour,
Mon programme fonctionne bien, seulement lorsque je propose à l'opérateur de continuer ou de quitter le programme; si on choisit de le quitter le shell ne disparait pas, je suis donc obligé de cliquer sur la croix. J'ai essayé avec la librairie os et la librairie sys mais pas moyen de me sortir de la. Merci par avance |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
fred1599@gmail.com wrote:
> Bonjour, > > Mon programme fonctionne bien, seulement lorsque je propose à > l'opérateur de continuer ou de quitter le programme; si on choisit de > le quitter le shell ne disparait pas, je suis donc obligé de cliquer > sur la croix. > > J'ai essayé avec la librairie os et la librairie sys mais pas moyen de > me sortir de la. > > Merci par avance > Bonjour, quel shell reste actif ? python, windows, linux ? Si tu lances ton script en ligne de commande depuis un shell c'est normal qu'il ne soit pas quitté à la fin de la commande. Jerome |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
Jerome a écrit : > fred1599@gmail.com wrote: > > Bonjour, > > > > Mon programme fonctionne bien, seulement lorsque je propose à > > l'opérateur de continuer ou de quitter le programme; si on choisit de > > le quitter le shell ne disparait pas, je suis donc obligé de cliquer > > sur la croix. > > > > J'ai essayé avec la librairie os et la librairie sys mais pas moyen de > > me sortir de la. > > > > Merci par avance > > > > > Bonjour, > > quel shell reste actif ? python, windows, linux ? > > Si tu lances ton script en ligne de commande depuis un shell c'est > normal qu'il ne soit pas quitté à la fin de la commande. > > > Jerome J'ai du mal m'exprimer, L'utilisateur à deux possibilités 1)Continuer le programme 2)Quitter le programme Si il quitte le programme, je voudrais qu'il quitte la fenetre du programme En fait la fonction sous linux, c'est 'exit', j'aimerais la simuler dans mon programme, afin de faire disparaitre cette fenetre |
|
|
|
#4 (permalink) |
|
Messages: n/a
Hébergeur: |
Salut !
En fait, la réponse de Jérome était pertinente. Pour nunux, je ne sais point. Pour windows, tu peux créer un petit batch (par exemple "p.bat"), contenant : @echo off if EXIST c:\exit.bat del c:\exit.bat %1.py %2 %3 %4 %5 %6 %7 %8 %9 if EXIST c:\exit.bat call c:\exit.bat Dans ton script Python, au moment de sortir, tu fais un truc du genre : open("c:\\exit.bat",'w').write('exit') sys.exit() (si l'on veut sortir du script Python, sans fermer le shell, il suffit d'omettre la première ligne) ça s'utilise de la façon suivante (exemples) : - pour lancer le script "toto.py", il faut taper : p toto [Entrer] - pour lancer le script "titi.py aaa bbb ccc", il faut taper : p toto aaa bbb ccc [Entrer] (9 paramètres sont possible, avec ce batch) @+ Michel Claveau |
|
|
|
#5 (permalink) |
|
Messages: n/a
Hébergeur: |
fred1599@gmail.com wrote:
> Jerome a écrit : >> fred1599@gmail.com wrote: >>> Bonjour, >>> >>> Mon programme fonctionne bien, seulement lorsque je propose à >>> l'opérateur de continuer ou de quitter le programme; si on choisit de >>> le quitter le shell ne disparait pas, je suis donc obligé de cliquer >>> sur la croix. >>> >>> J'ai essayé avec la librairie os et la librairie sys mais pas moyen de >>> me sortir de la. >>> >>> Merci par avance >>> >> >> Bonjour, >> >> quel shell reste actif ? python, windows, linux ? >> >> Si tu lances ton script en ligne de commande depuis un shell c'est >> normal qu'il ne soit pas quitté à la fin de la commande. >> >> >> Jerome > > J'ai du mal m'exprimer, > > L'utilisateur à deux possibilités > 1)Continuer le programme > 2)Quitter le programme > > Si il quitte le programme, je voudrais qu'il quitte la fenetre du > programme > > En fait la fonction sous linux, c'est 'exit', j'aimerais la simuler > dans mon programme, afin de faire disparaitre cette fenetre > http://docs.python.org/lib/module-sys.html exit([arg]) Exit from Python. This is implemented by raising the SystemExit exception, so cleanup actions specified by finally clauses of try statements are honored, and it is possible to intercept the exit attempt at an outer level. The optional argument arg can be an integer giving the exit status (defaulting to zero), or another type of object. If it is an integer, zero is considered ``successful termination'' and any nonzero value is considered ``abnormal termination'' by shells and the like. Most systems require it to be in the range 0-127, and produce undefined results otherwise. Some systems have a convention for assigning specific meanings to specific exit codes, but these are generally underdeveloped; Unix programs generally use 2 for command line syntax errors and 1 for all other kind of errors. If another type of object is passed, None is equivalent to passing zero, and any other object is printed to sys.stderr and results in an exit code of 1. In particular, sys.exit("some error message") is a quick way to exit a program when an error occurs. Mais à mon avis pour ton problème il faudrait mieux que tu revoies ta conception, ça me semble être un besoin étrange de vouloir quitter son programme de cette façon. Jerome |
|
|
|
#6 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour,
> L'utilisateur à deux possibilités > 1)Continuer le programme > 2)Quitter le programme > > Si il quitte le programme, je voudrais qu'il quitte la fenetre du > programme > > En fait la fonction sous linux, c'est 'exit', j'aimerais la simuler > dans mon programme, afin de faire disparaitre cette fenetre > Je n'ai pas testé, mais un truc qui vient à l'esprit, c'est de faire un os.system('kill -9 pid_du_shell') C'est un peu crade, mais imparable. A+ jm |
|
|
|
#7 (permalink) |
|
Messages: n/a
Hébergeur: |
jean-michel bain-cornu wrote:
> Bonjour, >> L'utilisateur à deux possibilités >> 1)Continuer le programme >> 2)Quitter le programme >> >> Si il quitte le programme, je voudrais qu'il quitte la fenetre du >> programme >> >> En fait la fonction sous linux, c'est 'exit', j'aimerais la simuler >> dans mon programme, afin de faire disparaitre cette fenetre >> > > Je n'ai pas testé, mais un truc qui vient à l'esprit, c'est de faire un > os.system('kill -9 pid_du_shell') > C'est un peu crade, mais imparable. > > A+ > jm os.system('kill -9 %d' % os.getppid()) ou os.kill(9, os.getppid()) Ca ne marche que sous un vrai os bien sûr ![]() |
|
|
|
#8 (permalink) |
|
Messages: n/a
Hébergeur: |
Jerome wrote:
> jean-michel bain-cornu wrote: >> Bonjour, >>> L'utilisateur à deux possibilités >>> 1)Continuer le programme >>> 2)Quitter le programme >>> >>> Si il quitte le programme, je voudrais qu'il quitte la fenetre du >>> programme >>> >>> En fait la fonction sous linux, c'est 'exit', j'aimerais la simuler >>> dans mon programme, afin de faire disparaitre cette fenetre >>> >> >> Je n'ai pas testé, mais un truc qui vient à l'esprit, c'est de faire >> un os.system('kill -9 pid_du_shell') >> C'est un peu crade, mais imparable. >> >> A+ >> jm > > > os.system('kill -9 %d' % os.getppid()) > ou > os.kill(9, os.getppid()) le lecteur attentif aura bien sûr corrigé en os.kill(os.getppid(), 9) ou même encore mieux en os.kill(os.getppid(), signal.SIGKILL) |
|
![]() |
| Outils de la discussion | |
|
|