PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.python > Sortir de mon programme
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Sortir de mon programme

Réponse
 
LinkBack Outils de la discussion
Vieux 10/08/2007, 07h42   #1 (permalink)
fred1599@gmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Sortir de mon programme

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

  Réponse avec citation
Vieux 10/08/2007, 07h52   #2 (permalink)
Jerome
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Sortir de mon programme

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
  Réponse avec citation
Vieux 10/08/2007, 08h33   #3 (permalink)
fred1599@gmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Sortir de mon programme


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

  Réponse avec citation
Vieux 10/08/2007, 08h57   #4 (permalink)
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Sortir de mon programme

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

  Réponse avec citation
Vieux 10/08/2007, 09h00   #5 (permalink)
Jerome
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Sortir de mon programme

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



  Réponse avec citation
Vieux 10/08/2007, 09h25   #6 (permalink)
jean-michel bain-cornu
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Sortir de mon programme

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
  Réponse avec citation
Vieux 10/08/2007, 10h50   #7 (permalink)
Jerome
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Sortir de mon programme

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
  Réponse avec citation
Vieux 10/08/2007, 11h06   #8 (permalink)
Jerome
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Sortir de mon programme

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)
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 01h13.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,12957 seconds with 16 queries