IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Lancer un programme exe ayant besoin d'arguments


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 25
    Points : 18
    Points
    18
    Par défaut Lancer un programme exe ayant besoin d'arguments
    Bonjour,
    Je débute en python et j'aimerais écrire un petit programme pour démarrer une application exe ayant besoin de quatre arguments.
    En CMD cela donne appli.exe arg1 arg2 arg3 fichierSortie

    Quelle serait la meilleure solution ? subprocess ? command ?
    Merci par avance de vos réponses.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Points : 970
    Points
    970
    Par défaut
    bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    from subprocess import Popen, STDOUT
    out = open('fichiersortie','w')
    p = Popen(args=['appli.exe','arg1','arg2','arg3'],stdout=out,stderr=STDOUT)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 25
    Points : 18
    Points
    18
    Par défaut Merci
    Merci. super, ça fonctionne bien. Une autre petite question cependant : mon arg1 est en fait mon fichier de sortie. Or le out = ('fichierdeSortie','w') me provoque un bug du programme.
    Comment puis-je donner une valeur nulle au out ou le supprimer complétement (ce qui équivaudrait, si j'ai bien compris, à retirer complétement le stdout du script).
    Merci de votre aide.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 379
    Points : 36 923
    Points
    36 923
    Par défaut
    Salut

    Citation Envoyé par phlam Voir le message
    Merci. super, ça fonctionne bien. Une autre petite question cependant : mon arg1 est en fait mon fichier de sortie. Or le out = ('fichierdeSortie','w') me provoque un bug du programme.
    arg1 est le fichier de sortie d'appli.exe
    out est le fichier de sortie de Popen.

    Ce ne sont pas les mêmes, ils n'ont pas la même fonction... Et ils vous rendront bien service le jour ou vous devrez comprendre pourquoi cela ne fonctionne plus.
    - W

Discussions similaires

  1. Lancer un programme .exe par un clik bouton
    Par safine dans le forum VB.NET
    Réponses: 9
    Dernier message: 02/12/2011, 13h39
  2. Réponses: 1
    Dernier message: 23/12/2008, 08h26
  3. lancer un programme (.exe) à partir du navigateur
    Par yacin dans le forum Développement Web en Java
    Réponses: 5
    Dernier message: 16/12/2008, 18h13
  4. Réponses: 1
    Dernier message: 22/04/2007, 14h50
  5. Lancer un programme avec des arguments via IE...
    Par petozak dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 24/03/2006, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo