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 :

Execution d'un shell depuis Python


Sujet :

Python

  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Août 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Août 2006
    Messages : 109
    Par défaut Execution d'un shell depuis Python
    Bonjour

    Je debute...
    J'ai reussi a executer des modules Python depuis un script Python mais je cherche maintenant à executer des scripts shell depuis du Python.
    Le shell doit récupérer des paramètres et retourner des listes de valeurs (pas un return code)...
    Les essais avec execfile ne sont concluants que si mon shell retourne un rc.
    Comment puis-je récupérer mes listes de valeurs ?

    Merci
    Isabelle

  2. #2
    Membre émérite
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    import os
     
    output = os.popen('/bin/ls').read()
    print output

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Août 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Août 2006
    Messages : 109
    Par défaut
    Merci

    j'ai reussi a executer mon shell de la facon suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    import os
    import subprocess
    WSADMIN = os.environ['WSADMIN']
    command = WSADMIN + '/test2.sh '
    param = 'toto'
    p = subprocess.Popen(args=[command + param], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
    outputlines = p.stdout.readlines()
    print outputlines
    Le resultat est une liste dont chaque element est une ligne générée par le shell

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ['Dans le script shell\n', 'param : toto\n', 'Fin du script shell\n']
    Il ne me reste plus qu'à traiter cette liste, ce qui ne pose pas de problèmes.
    J'ai fait le test avec os.popen mais ce n'est pas probant, donc je crois que je vais garder la solution que j'ai trouvé (merci google).

    Merci de votre aide.
    Isabelle

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Je trouve la solution proposée par GnuVince beaucoup plus lisible...

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

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

Discussions similaires

  1. Appel de script shell depuis python
    Par Marc_27 dans le forum Général Python
    Réponses: 0
    Dernier message: 15/04/2015, 11h06
  2. Lancer un script shell depuis un script python
    Par freestyler dans le forum Général Python
    Réponses: 18
    Dernier message: 04/10/2011, 09h59
  3. Lancement de shell depuis python
    Par crashXpert dans le forum Général Python
    Réponses: 8
    Dernier message: 20/07/2011, 12h10
  4. Executer commande shell depuis perl
    Par Matmal11 dans le forum Langage
    Réponses: 2
    Dernier message: 12/06/2007, 10h35
  5. Execution d'un script shell depuis un code C
    Par aproust dans le forum C
    Réponses: 6
    Dernier message: 12/05/2006, 13h53

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