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 :

os.spawnl() et arguments


Sujet :

Python

  1. #1
    Membre éclairé Avatar de Snooky68
    Homme Profil pro
    Développeur Web/Python/PHP
    Inscrit en
    Mai 2006
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web/Python/PHP
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 273
    Par défaut os.spawnl() et arguments
    Bonjour à tous:

    J'aimerais démarrer un programme avec os.spawnl.
    Mon problème c'est que j'ai 5 ou 6 paramètre à faire passer.
    Et je n'y arrive pas, le programme démarre mais les paramètres ne sont pas pris en charge.

    Pouvez vous me faire un exemple type avec 3 ou 4 paramètres?
    Merci.

  2. #2
    Membre éclairé Avatar de Snooky68
    Homme Profil pro
    Développeur Web/Python/PHP
    Inscrit en
    Mai 2006
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web/Python/PHP
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 273
    Par défaut
    Petite précision, voici l'adresse du programme avec les différent paramètre:

    "C:\Program Files\ScandAll 21\FImage.exe" /ScanToFile /Exit /StiDevice:%1 /StiEvent:%2

    Si j'ecrie sa dans "Exécuter" tout se passe très bien.

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Vite fait j'ai pas le temps de regarder mais python aime pas qu'on utilise les "\", ça lui est réservé, met plutot des "/".

    Pour le reste je regarderais plus tard

  4. #4
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Salut,

    os.spawnl est un peu obsolète ; la librairie "subprocess" a été faite pour la remplacer à terme.

    Jette un oeil ici :
    http://docs.python.org/lib/node537.html

    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import subprocess
    subprocess.call(["commande", "arg1", "arg2"])

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Je ne connais pas os.spawnl et j'ai pas testé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commande="C:\Program Files\ScandAll 21\FImage.exe"+" "+"/ScanToFile /Exit /StiDevice:%1 /StiEvent:%2"
    Puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.spawnl(os.P_NOWAIT, commande)
    Mais j'ai pas testé donc...

  6. #6
    Membre éclairé Avatar de Snooky68
    Homme Profil pro
    Développeur Web/Python/PHP
    Inscrit en
    Mai 2006
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web/Python/PHP
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 273
    Par défaut
    Bonjour et merci pour vos réponses.

    J'ai un autre probléme en rapport direct avec le premier.
    Je suis arrivé à démarrer l'application comme je voulait à présent je voudrais la fermer!

    Et encore une fois je bloque:
    Voici ma ligne de code pour ouvrir l'application:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subprocess.call(['C:\Program Files\PDFCreator\PDFCreator.exe','/PF' + adress + '\image.tif'])
    Comment faire pour attendre que le traitement de l'appli soit terminer (la création d'un PDF ici) et que PDFCreator de ferme après automatiquement?

    Merci.

  7. #7
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    C:\Program Files\PDFCreator\PDFCreator.exe','/PF' + adress + '\image.tif'
    Doit etre séparé de ta ligne de code

    commande='C:\Program Files\PDFCreator\PDFCreator.exe','/PF' + adress + '\image.tif'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subprocess.call([commande...

  8. #8
    Membre éclairé Avatar de Snooky68
    Homme Profil pro
    Développeur Web/Python/PHP
    Inscrit en
    Mai 2006
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web/Python/PHP
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 273
    Par défaut
    heu... merci Fred, mais je ne comprend pas vraiment quel est le rapport avec mon problème.
    Tout d'abord parsque le "commande" ne va pas m'aider à fermer l'application ouverte et ensuite parsque ce "commande" me crée une erreur dans mon code.
    Donc je ne comprend pas vraiment. Je pensait plutot devoir utiliser un popen plus quelque chose... mais quoi?

  9. #9
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    merci Fred, mais je ne comprend pas vraiment quel est le rapport avec mon problème.
    Tu utilises bien subprocess non?

    Tout d'abord parsque le "commande" ne va pas m'aider à fermer l'application ouverte et ensuite parsque ce "commande" me crée une erreur dans mon code.
    Normal je viens de voir que tu avais fais n'importe quoi, la prochaine fois je ne ferais pas un copier/coller.

    Cherche dans tes tutos, c'est un probleme de concaténation

    Je pensait plutot devoir utiliser un popen plus quelque chose... mais quoi?
    popen, system, subprocess ou n'importe quoi d'autres, si tu ne concatène pas bien tes chaines tu n'arrives au résultat attendu

  10. #10
    Membre éclairé Avatar de Snooky68
    Homme Profil pro
    Développeur Web/Python/PHP
    Inscrit en
    Mai 2006
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web/Python/PHP
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 273
    Par défaut
    ... Je ne suis pas sur que je m'exprime clairement
    Rappel: Je ne souhaite pas ouvrir une application. Le subprocess.call (ou popen d'ailleur) fonctionne bien pour ouvrir mon appli.

    Se que je veut c'est fermer l'appli que j'ai ouverte de cette façon! Alors soit je me suis pas exprimer assez clairement pour que tu comprenne se que je veut, ou alors je suis un peut neuneu ce matin et je ne comprend pas ou tu veut en venir!

    Comment une autre concaténation peut elle fermer mon programme?

  11. #11
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Je ne suis pas sur que je m'exprime clairement
    Arf c'est de ma faute j'ai mal lu la suite du post

    Se que je veut c'est fermer l'appli que j'ai ouverte de cette façon
    Tu ne peux pas la fermer la seule solution est d'utiliser un outil windows comme pskill ou taskkill

    Alors soit je me suis pas exprimer assez clairement pour que tu comprenne se que je veut, ou alors je suis un peut neuneu ce matin et je ne comprend pas ou tu veut en venir!
    Tu n'es pas neuneu ce matin c'est mon tour

    Comment une autre concaténation peut elle fermer mon programme?
    Question n'étant plus d'actualité

  12. #12
    Membre éclairé Avatar de Snooky68
    Homme Profil pro
    Développeur Web/Python/PHP
    Inscrit en
    Mai 2006
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web/Python/PHP
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 273
    Par défaut
    Arf... problème de communication!

    Ok! Je te remercie pour ton aide, je vais faire quelque recherche sur pskill et taskill donc!

    Merci et bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Arguments pour et contre Access ?
    Par bottura dans le forum Sondages et Débats
    Réponses: 240
    Dernier message: 23/03/2018, 23h25
  2. Récuperer Arguments sur la ligne de commande ?
    Par Muetdhiver dans le forum x86 16-bits
    Réponses: 9
    Dernier message: 20/01/2003, 21h01
  3. Réponses: 2
    Dernier message: 18/11/2002, 09h12
  4. fonction renvoyant un tableau en argument
    Par Jones dans le forum Langage
    Réponses: 6
    Dernier message: 30/09/2002, 18h20
  5. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08

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