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 :

Subprocess Popen lecture de la commande dans un fichier


Sujet :

Python

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut Subprocess Popen lecture de la commande dans un fichier
    Bonjour,
    j'ai un problème lorsque j'utilise popen du module subprocess avec python 2.7

    lorsque j'utilise la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subprocess.Popen(["gedit", str(fichier)])
    j'arrive à ouvrir le fichier dans le logiciel gedit.

    lorsque j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    essai = "gedit"
    subprocess.Popen([essai, str(fichier)])
    ça fonctionne aussi.

    par contre, lorsque j'écrit gedit dans un fichier texte et que j'utilise le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fconf_name = "config.ini"
    fconf = open(fconf_name,'r')
    self.notepad_exe_path =fconf.readline()
    subprocess.Popen([self.notepad_exe_path, str(fichier)])
    j'obtient le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      File "/home/greg/WORK/001_MatXper/04_VicXper/RunVicXperGraphique.py", line 457, in ouvrir_notepad
        subprocess.Popen([self.notepad_exe_path, str(fichier)])
      File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
        errread, errwrite)
      File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory
    J'ai cherché sans succès une explication à ce problème.
    si quelqu'un à la solution, je suis preneur.


    [/CODE]

  2. #2
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    C'est sans doute à cause du caractère de fin de ligne.

    Ajoute strip() à fconf.readline()

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2006
    Messages : 197
    Points : 185
    Points
    185
    Par défaut
    ça fonctionne parfaitement avec strip() !
    merci beaucoup

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

Discussions similaires

  1. C++ lecture d'un tableau dans un fichier
    Par nicoss dans le forum C++
    Réponses: 1
    Dernier message: 28/05/2006, 10h26
  2. Réponses: 4
    Dernier message: 12/10/2005, 21h22
  3. [JList] Lecture des données sauvegardées dans un fichier
    Par Myogtha dans le forum Composants
    Réponses: 7
    Dernier message: 10/06/2004, 21h05
  4. [C#] [.NET] Lecture d'une classe dans un fichier
    Par niPrM dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/05/2004, 08h57
  5. Ecrire le résultat d'une commande dans un fichier de l' OS
    Par Labienus dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/02/2004, 11h04

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