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 :

commands, subprocess, output


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 56
    Par défaut commands, subprocess, output
    Bonjour,

    Je développe actuellement un petit script destiné à me faciliter la vie avec aptitude.

    Ce script lance forcément aptitude à un moment ou un autre. Or, j'ai bien entendu besoin de récupérer l'output et de pouvoir répondre à aptitude quand il le demande.

    Que faut il utiliser pour cela ?

    commands.getoutput(cmd) me permet bien d'obtenir l'output, mais pas d'y répondre.
    Je n'ai bien compris subprocess. L'argument stdout de subprocess.Popen sert il à ça ?

    Merci d'avance,
    Cordialement,

  2. #2
    Membre Expert 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
    Par défaut
    Bonjour,

    C'est bien subprocess qui est recommandé dans ce cas.
    Tu retrouve en fin de doc les substitues aux 'anciennes' commandes dont celles pour le shell et le pipe.
    Par contre pour ce qui est d'aptitude l'option -y devrais t'aider.

    Bon code

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 56
    Par défaut
    Bonjour,

    Hum, -y n'est pas mal du tout, mais ça ne gère pas la configuration d'un paquet.

    Je ne vois pas sur la page de documentation une partie expliquant comment faire en sorte que la main soit donnée à la commande. Je voudrais que lorsque mon script appelle aptitude, il me laisse répondre à aptitude (non seulement en m'affichant stdout, mais aussi en me laissant donner des infos à aptitude en cas de configuration d'un paquet, par exemple).

    Merci de ton aide,
    Cordialement,

  4. #4
    Membre Expert 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
    Par défaut
    Bonjour,

    Regarde l'exemple ici

    @+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 56
    Par défaut
    Bonjour,

    Après recherches, cela semble marcher avec os.execl(). Dans la documentation de subprocess, os.execl() ne fait pas partie des fonctions remplacées. Néanmoins, est ce que subprocess remplacerait avantageusement os.execl() ? Si oui, quels sont ses avantages ?

    Merci d'avance,
    Cordialement,

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

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

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

    pyexpect peut être ?

    http://sourceforge.net/projects/pexpect/

  7. #7
    Membre Expert 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
    Par défaut
    Bonsoir,

    Citation Envoyé par LupusCramus Voir le message
    Après recherches, cela semble marcher avec os.execl(). Dans la documentation de subprocess, os.execl() ne fait pas partie des fonctions remplacées. Néanmoins, est ce que subprocess remplacerait avantageusement os.execl() ? Si oui, quels sont ses avantages ?
    Le fonctionnement de execl* (execl, execle, etc...) permet le remplacement du process (je passe dessus puisque tu est sur la banquise).

    A mon avis oui, subprocess remplace sans problème. Est il possible d'avoir le code qui te fais dire cela ? (j'ai un doute ;p)

    Le pexpect de kango est a voir (merci kango, j'avais oublié celui là. Je rejette un œil a l'occasion)

    Bon code

Discussions similaires

  1. Output commande sim
    Par lfournie dans le forum Simulink
    Réponses: 1
    Dernier message: 20/08/2008, 10h36
  2. [Système] output de ligne de commande DOS
    Par perry_rhodan dans le forum Langage
    Réponses: 2
    Dernier message: 13/06/2008, 20h12
  3. Récuperer le output d'une commande dans un .txt
    Par geeksideofme dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/03/2008, 14h05
  4. Réponses: 3
    Dernier message: 11/03/2008, 00h22
  5. Réponses: 12
    Dernier message: 04/06/2006, 00h19

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