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 :

Ecrire une ligne de commande dans un terminal


Sujet :

Python

  1. #1
    Membre actif
    Inscrit en
    Janvier 2004
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 186
    Points : 261
    Points
    261
    Par défaut Ecrire une ligne de commande dans un terminal
    Bonjour, je suis en ce moment en pleine réflexion sur un petit projet.
    Mais je ne trouve pas de solution a certain de mes probleme par exemple, je voudrais par python lancer un terminal (j'ai vu qu'il était possible de lancer des application donc ca ne devrait théoriquement pas posé de probleme) et ensuite ecrire dans ce terminal (toujours pas python) et executé la commande du terminal toujours par python, sous linux je précise.
    Quelqu'un aurait -il une piste?
    Merci

  2. #2
    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 : 47
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Salut,

    Je vois au moins deux solutions:
    1. Utiliser os.system():
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      import os
      commande = "ls -l"
      os.system(commande)
       
      # ou directement
       
      os.system("ls -l")
    2. Si tu as besoin de récupérer le résultat de la commande passée au shell, utiliser os.popen():
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      import os
      mon_pipe = os.popen("ls -l", "r")
      # mon_pipe peut ensuite être lu comme un fichier
      resultat_commande = mon_pipe.read()
       
      # On referme ensuite le pipe
      mon_pipe.close()
       
      # On affiche resultat_commande
      print resultat_commande


    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++

    +

  3. #3
    Membre actif
    Inscrit en
    Janvier 2004
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 186
    Points : 261
    Points
    261
    Par défaut
    Merci de ta reponse ^^
    Mais je ne comprends pas vraiment ton code.
    mon_pipe = os.popen("ls -l", "r")
    Ce qui signifie que rien qu'en lancant la commande de terminal en tant que programme a ouvrir il va ouvrir le terminal et executé la commande dedans ?
    Merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/12/2011, 11h28
  2. [Batch] Comment écrire une ligne de commande dans un autre batch ?
    Par pierrot91000 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 02/04/2011, 12h31
  3. Obtenir la sortie d'une ligne de commande dans un variable java
    Par Dalidou dans le forum Général Java
    Réponses: 2
    Dernier message: 06/04/2009, 09h17
  4. Utiliser une ligne de commande dans mon programme.
    Par Someonelse dans le forum MFC
    Réponses: 3
    Dernier message: 20/06/2006, 16h11
  5. Comment lancer une ligne de commande dans un processus en Java.
    Par doyouknow56 dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 13/05/2006, 11h55

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