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 :

démarrer une application en cmd


Sujet :

Python

  1. #1
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut démarrer une application en cmd
    Bonjours,

    J'ai un script matlab que je veux éxecuté par Python, si j'utlise les commande ou ou les autres sa m'ouvre juste le fichier
    Matlab offre une solution c'est de tapé dans la fenetre de command

    comment je peut tapé cette commande a partir de python pour exécuté le programme matlab?

    merci

  2. #2
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Va voir du côté de subprocess (lien py3k, mais le module existe aussi en py2)…

  3. #3
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Pour cela vous avez le module subprocess.
    (Voir les exemples en bas de page web)

    @+

    Edit : Grilled...
    Merci d'utiliser le forum pour les questions techniques.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 298
    Points : 6 778
    Points
    6 778
    Par défaut
    Il y a plusieurs méthodes, par exemple subprocess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import subprocess
     
    subprocess.Popen(["matlab", "-r", "nom.m"], universal_newlines=True, stdout=subprocess.PIPE).communicate()
    Tu remarques que la commande est décomposée en une liste de string.

    Est-ce que le script matlab doit retourner quelque chose ? auquel cas il faudra rajouter un peu de code




    Edit: Décidement ....

  5. #5
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    mais ce que j'exécute ce n'est pas un fichier.exe mais un fichier.m comment je peut le lancé a partir de python comme si j'ecris sur la console de commande sachant que je doit etre dans le même path ou il se trouve le fichier

    merci par avance

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 298
    Points : 6 778
    Points
    6 778
    Par défaut
    Citation Envoyé par autousto Voir le message
    mais ce que j'exécute ce n'est pas un fichier.exe mais un fichier.m comment je peut le lancé a partir de python comme si j'ecris sur la console de commande
    Tu es sur, je pense plutôt que tu exécute matlab et que "nom.m" est un argument.

    non ?

  7. #7
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    merci j'ai pas vu la réponse de VinsS c'est plus claire pour moi, je vais esseillé, le script matlab ne retourne pas grand chose, enfin je construit un modèle simulink et je le compile c'est ou, mais par contre sa retourne un fichie log sur les diffirente étape donc je doit tapé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    matlab -r "nom" -logfile "nom_logfile.txt"

  8. #8
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    ahh non, je m'explique j'ai un script matlab "script.m" je veux l'exécuté a partir de python alors que je met par exemple satrtfile (script.m) il ouvre le fichier avec matlab, mais il l'éxécute pas.

    donc au lieu d'étulisé les module pour s'interfacé avec matlab comme pymat j'ai trouvé plutôt une autre sollution.

    pour exécuté un fichier.m il suffit de taper sur la consol de commande donc la il va ouvrir le fcihier et lexécuté.

    je cherch comment je peut éxécuté cette commande sur python comme si je le fait sur la console commande, et un autre souci c'est que la console doit etre sur le chemin ou il se trouve le Script.m

  9. #9
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    Oui Oui, je pense que plutôt c'est moi qui n'a pas les idées claire, sa marche l'application c'est bien matlab, et l'argument c'est le fichier a éxécuté, je vous remercie infiniment

  10. #10
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Re,

    Vu que le résultat semble ne pas importer ce n'est pas plutôt subprocess.Popen(["matlab", "-r", "nom.m"]) (os.P_NOWAIT remplacement) ?

    @+
    Merci d'utiliser le forum pour les questions techniques.

  11. #11
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    J'aimerais bien savoir comment attendre que Matlab termine l'éxécution de script (sa prend environs 2 minutes) pour que python passe a la commande suivante doit-je utilisé communicate ou wait !!! et comment je peut les utiliser merci

  12. #12
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonsoir,

    communicate vous permets d'avoir en retour stdout, stderr.
    Si vous voulez juste attendre c'est
    subprocess.call(["matlab", "-r", "nom.m"])

    @+
    Merci d'utiliser le forum pour les questions techniques.

  13. #13
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    bonjour,

    j'ai essayer subprocess.call mais sa ne marche pas j'ai essayé un programme simple sur matlab un compteur qui compte 1 minute, et sur python jai écrit sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import subprocess
    subprocess.call(["matlab", "-r", "toto", " logfile", "logfile_matlab.txt"])
    print 'cest terimé '
    normalement il m'affiche c'est terminé quand matlab fini mais il l'affiche directement !!!!!

    merci par avance

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/05/2006, 03h40
  2. Réponses: 5
    Dernier message: 11/04/2006, 11h10
  3. [DOS]impossible de démarrer une application
    Par afrikha dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 22/12/2005, 08h54
  4. Comment démarrer une application à distance ?
    Par Jean-Jacques Engels dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 20/10/2005, 15h53
  5. démarrer une application en service
    Par Mut dans le forum Autres Logiciels
    Réponses: 15
    Dernier message: 26/09/2005, 16h08

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