Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1067 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [python] syntaxe execution programme externe

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[python] syntaxe execution programme externe

n°2249468
zerocool29
Posté le 27-01-2015 à 09:29:06  profilanswer
 

Bonjour, je me lance dans la programmation en Python 3 et je butte sur la syntaxe permettant d'executer une programme externe (en l'occurence xplanet) dans mon script python. Malgres des recherches sur google à chaque nouvelles pages une nouvelles syntaxes !!! je travail actuellement sous windows 7 et voici un exemple de mon script :
#os.startfile("c:/ma-mateo/xplanet.exe -fontsize 24 -conf maconfig -output C:/ma-meteo/img/img_moon.png -body moon -geometry 750x750 &" )
 
kkun pourrai me renseigner SVp ? Merci d'avance

mood
Publicité
Posté le 27-01-2015 à 09:29:06  profilanswer
 

n°2249538
masklinn
í dag viðrar vel til loftárása
Posté le 27-01-2015 à 14:48:26  profilanswer
 

Le "&" à la fin de la ligne n'a pas de sens, ça sert à créer un process détaché du shell, t'es pas dans un shell.
 
Le moyen moderne de créer un process est subprocess:

Code :
  1. subprocess.check_call([
  2.    "c:/ma-mateo/xplanet.exe", "-fontsize", "24", "-conf", "maconfig", "-output", "C:/ma-meteo/img/img_moon.png", "-body", "moon", "-geometry", "750x750"
  3. ])


---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°2249572
zerocool29
Posté le 27-01-2015 à 18:01:23  profilanswer
 

Merci pour ta réponse mais voici le message d'erreur que j'obtiens :
Traceback (most recent call last):
  File "c:\ma-meteo\mameteo2.py", line 23, in <module>
    "/ma-meteo/xplanet.exe", "-fontsize", "24", "-conf", "/ma-meteo/maconfig", "
-output", "/ma-meteo/img/img_moon.png", "-body", "moon", "-geometry", "750x750"
  File "C:\Python33\lib\subprocess.py", line 544, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/ma-meteo/xplanet.exe', '-fontsize', '
24', '-conf', '/ma-meteo/maconfig', '-output', '/ma-meteo/img/img_moon.png', '-b
ody', 'moon', '-geometry', '750x750']' returned non-zero exit status 1
 
Kezako ?

n°2249579
masklinn
í dag viðrar vel til loftárása
Posté le 27-01-2015 à 18:37:56  profilanswer
 

Conventionnellement, les programmes renvoient un status 0 si tout s'est bien passé, non-0 s'il y a eu une erreur.

 

check_call vérifie que le status de l'exécutable est bien 0, et génère une exception si ce n'est pas le cas. Je ne sais pas quel est le comportement de xplanet, je te suggère de regarder ce qu'il en est.

 

Si tu veux ignorer le code de status, tu peux remplacer check_call par call (qui va juste renvoyer le code de status).

 

Je suis pas convaincu par tes chemins par contre. Ils m'ont l'air un peu douteux pour du windows.


Message édité par masklinn le 27-01-2015 à 18:38:53

---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°2249584
zerocool29
Posté le 27-01-2015 à 19:59:15  profilanswer
 

Pourquoi passer les paramètres entre "", n'y a t il pas de risque de confusion pour le programme ?

n°2249585
masklinn
í dag viðrar vel til loftárása
Posté le 27-01-2015 à 20:13:36  profilanswer
 

Quels paramètres? Confusion à quel niveau?


---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬
n°2249595
zerocool29
Posté le 28-01-2015 à 10:32:04  profilanswer
 

masklinn a écrit :

Quels paramètres? Confusion à quel niveau?


"c:/ma-mateo/xplanet.exe", "-fontsize", "24", "-conf", "maconfig", "-output", "C:/ma-meteo/img/img_moon.png", "-body", "moon", "-geometry", "750x750"
Pourquoi séparer les paramètres par des quotes ?

n°2249602
masklinn
í dag viðrar vel til loftárása
Posté le 28-01-2015 à 11:05:12  profilanswer
 

Parce-que c'est une bonne habitude, ça permet au système de correctement gérer l'échappement et le quoting des paramètres le jour ou c'est nécessaire.


---------------
I've never understood the compulsion to use Web technologies minus the Web's security and deployment models. It seems a bit like throwing the orange away and eating the peel. — @ justinschuh‬

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [python] syntaxe execution programme externe

 

Sujets relatifs
Programme jeux fort boyard[Python] Checkbox et condition - Récupération de variable
Aide programme java[POWER SHELL] Problème d'import de module Active Directory
projet de programmation (ISN) (python 3.4)Aide pour programme java
Problème avec tuple sur Python 3.4.1[python] Generer image à partir de données texte
besoin d'aide pour un programme java (urgent =x )besoin d'Aide : Python our programmer un mot de passe
Plus de sujets relatifs à : [python] syntaxe execution programme externe


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR