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 :

Lancement programme externe


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Par défaut Lancement programme externe
    Bonjour,

    j'ai un petit soucis avec un code python, l'objectif est de lancer un logiciel de conversion d'image depuis un script.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import urllib.request
    import webbrowser
    import math
     
    import os 
     
    ####################################
    #         lecture de l'image       #
    ####################################
     
    a = os.popen("C:\conversionphoto\XnView\nconvert.exe -out pnm c:\test.png" , "r")
     
    b = a.read()
    a.close()
    print(b)
    Lorsque je lance le script il ne me renvoie aucune erreur, mais le print ne m'affiche rien. Si je fais l'essai avec une autre commande par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    a = os.popen("ping 127.0.0.1","r")
    b = a.read()
    a.close()
    print(b)
    et cette fois j'arrive au résultat escompté. Je pense que le problème vient du fait que l'exécution de mon programme ne se fait pas correctement si il n'est pas lancé dans une invite de ligne de commande.

    Comment faire pour envoyé du texte dans une invite de commande ?

    Merci de votre aide
    Meilleurs salutations

    p.s. je travaille sous python 3.1.2

  2. #2
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Êtes-vous certain que cet appel de commande est sensé écrire quelque chose sur la sortie standard stdout ? Il se pourrait que ce soit envoyé sur la sortie d'erreur stderr.

    os.popen est déprécié en faveur du module subprocess.
    Comment faire pour envoyé du texte dans une invite de commande ?
    On a ce qu'il vous faut

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Par défaut
    Je crois que le problème vient du fait que tu utilises le caractère \ qui est un caractère spécial pour les chaines de caractères en Python.
    Essaie de remplacer chaque \ par \\

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    a = os.popen("C:\\conversionphoto\\XnView\\nconvert.exe -out pnm c:\\test.png" , "r")

  4. #4
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par Biribibi Voir le message
    Je crois que le problème vient du fait que tu utilises le caractère \ qui est un caractère spécial pour les chaines de caractères en Python.
    Essaie de remplacer chaque \ par \\

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    a = os.popen("C:\\conversionphoto\\XnView\\nconvert.exe -out pnm c:\\test.png" , "r")
    Je le pense aussi car "\t" désignant une tabulation, quelque chose comme
    signifiera

  5. #5
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Par défaut
    Merci, en effet l'utilisation de \ posait problème. Encore des heures perdu bêtement.

    Je ne l'avais pas vu car en effet ils ne posent problème que lors d'association avec d'autre caractères par exemple "\n" ou "\t".

    Encore une fois merci de votre aide

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

Discussions similaires

  1. Lancement programme externe
    Par fennec62 dans le forum Général Python
    Réponses: 2
    Dernier message: 24/10/2008, 19h42
  2. lancement programme externe bizarre
    Par edenyorke dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2007, 10h23
  3. Réponses: 2
    Dernier message: 12/07/2006, 08h44
  4. [Linux] Problème de lancement d'un programme externe
    Par kitsune dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 17/05/2006, 18h40
  5. Lancement d'un programme externe
    Par vinzzzz dans le forum Windows
    Réponses: 1
    Dernier message: 05/05/2006, 14h19

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