Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lancement de programme via Python

Sujet résolu
25 mars 2013 à 15:33:57

Bonjour à tous !

Désolé si ce message n'est pas dans le bon topic, je suis nouveau sur le site.

Alors voilà : j'ai commencé à programmer légèrement sous python depuis environ 1 mois (ce site m'a bcp aidé) mais je bute depuis peu sur un problème. J'aurais besoin, à partir d'un script python, de lancer un programme. Le but est de pouvoir ouvrir un programme (Gnuplot en l'occurence), lancer un fichier à partir de ce programme et refermer le programme, tout ceci, sans intervention manuelle. 

J'ai eu beau chercher, je n'ai aucune idée de la commande à utiliser. J'attend impatiemment vos réponses.

Merci d'avance !! 

  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2013 à 15:39:03

Je ne suis pas sûr d'avoir bien compris, tu cherches à faire un robot qui clique sur les boutons d'un programme graphique c'est ça ?

  • Partager sur Facebook
  • Partager sur Twitter
Envie de mettre les mains dans le cambouis ? Passez à Funtoo GNU/Linux. DO IT!
25 mars 2013 à 15:44:30

Bonjour,

Non, c'est pas ça. En fait, la seule action que je souhaiterai faire, c'est ouvrir un fichier à partir d'un programme. Le fichier contient plusieurs lignes de commandes et travail de manière autonome. En gros, quand je souhaite lancer cette manip' manuellement, j'ai juste à lancer le programme et ouvrir un fichier texte à partir de ce programme. Ensuite je referme le programme. 

Je sais pas si je suis clair ^^' 

  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2013 à 15:47:04

Mais pour ouvrir un fichier, tu passes par le mode graphique ou ça se fait via des arguments ? Renseignes toi sur os.exec() et os.spawn().

  • Partager sur Facebook
  • Partager sur Twitter
Envie de mettre les mains dans le cambouis ? Passez à Funtoo GNU/Linux. DO IT!
25 mars 2013 à 15:48:31

J'ouvre le fichier par l'interface graphique "File --> Open" et je sélectionne mon fichier. De la même manière que sous Word ou Excel.

Je travail sous Windows (j'ai oublié de préciser).

Je me renseigne sur les deux commandes, merci ;) 

  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2013 à 15:56:23

La plus part des logiciel si tu met le nom du fichier que tu compte ouvrir en paramètre apres l'executable sera ouvert automatiquement. Par ex pour word : winword toto.doc devrait automatiquement le fichier toto.doc. Pas besoin de python pour ça

  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2013 à 16:14:43

Si tu ne peux pas passer par les arguments comme l'a expliqué kristofjé, c'est bien un robot qui clique sur les boutons de l'interface graphique que tu cherches à faire. Et ça, c'est une autre paire de manches.

-
Edité par PyTony 25 mars 2013 à 16:15:09

  • Partager sur Facebook
  • Partager sur Twitter
Envie de mettre les mains dans le cambouis ? Passez à Funtoo GNU/Linux. DO IT!
25 mars 2013 à 16:30:46

En fait, je n'ai malheureusement pas le choix de passer par du python (dans le cadre de mes études). 

J'ai réussi à ouvrir le programme voulu à partir d'un

import subprocess
subprocess.popen

Malheureusement, je n'arrive pas, à partir de là, à lancer le fichier. Je vais essayer de me renseigner sur les robots, mais je doute que mon niveau me permette d'en utiliser.

Merci de votre aide en tout cas :)

  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2013 à 16:33:19

non mais quand tu fais le popen tu peux rajouter un deuxieme argument dans la liste apres le nom de l'application. Tu t met le nom avec le chemin vers le fichier et ça devrait te l'ouvrir

edit: en gros :

import subprocess as sp
sp.Popen(("TonApli", "c:\tonfichier.toto"))

non les doubles parentheses ne sont pas une erreur

-
Edité par Dr. kristofjé 25 mars 2013 à 16:35:03

  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2013 à 16:49:23

Ca a l'air de convenir à ce que je veux faire :) Merci beaucoup !
Nénamoins (je me permet d'abuser de votre patience) j'ai un message d'erreur que je ne comprend pas. L'erreur se situe au niveau du trajet pour atteindre le fichier. J'ai écrit :

import subprocess as sp
sp.Popen((gnuplot.exe, C:\Program Files (x86)\gnuplot\bin\R_display2.txt))

et je reçois comme erreur : 

SyntaxError: ('invalid syntax', ('new2.py', 4, 25, 'sp.Popen((gnuplot.exe, c:\\Program Files (x86)\\gnuplot\\bin\\R_display2.txt))\n'))

J'ai essayé de réécrire le trajet avec deux anti-slash, comme rédigé dans l'erreur et l'erreur apparait cette fois avec quatre anti-slash...

Une idée ? :s

  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2013 à 16:50:28

J'ai simplement oublié les guillemets, désolé pour cette intervention très utile ^^ 

Merci beaucoup à tous les deux en tout cas :D Bonne continuation !!
  • Partager sur Facebook
  • Partager sur Twitter
31 mars 2022 à 11:14:01 - Message modéré pour le motif suivant : Message complètement hors sujet


31 mars 2022 à 13:12:45

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter