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 :

Masquer une commande système dans python


Sujet :

Python

  1. #1
    Membre confirmé Avatar de Mysti¢
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Par défaut Masquer une commande système dans python
    J'aimerais savoir si c'est possible de masquer une commande système dans python.
    Concrètement, avec l'exemple d'une requete de ping:

    import os
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    try:
    	os.system('ping ' + '192.168.0.150')
    except:
            print "Le serveur ne répond pas"
    Quelques chose qui remplacerai la commande MS-DOS

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Il ne faut pas utiliser try...except, os.system renvoie un code d'erreur, donc à la limite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import os
     
    if os.system('ping ' + '192.168.0.150') != 0:
        print "Le serveur ne répond pas"

  3. #3
    Membre confirmé Avatar de Mysti¢
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Par défaut
    J'ai essayé ca aussi, mais c'est pas le résultat que j'attendais parce que dans l'invite de commande, on voit quand même la requête s'effectuer

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Dans un shell Linux je ferais comannde >/dev/null, mais il y a un équivalent pour Windows que j'ai oublié (vu que tu parles de MS-DOS je suppose que ce programme est pour Windows), os.devnull devrait fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import os
     
    if os.system('ping ' + '192.168.0.150' + ' >' + os.devnull) != 0:
        print "Le serveur ne répond pas"

  5. #5
    Membre confirmé Avatar de Mysti¢
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Par défaut
    Merci , ca fonctionne
    Oui, le programme est bien pour windows :p
    Résolu!

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Petite note encore: ça ne cachera pas les erreurs éventuelles
    Sinon regradre du côté du module subprocess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import subprocess
     
    if subprocess.call(['ping', '192.168.0.150'], stdout = subprocess.PIPE, stderr = subprocess.PIPE) != 0:
        print "Le serveur ne répond pas"

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 04/03/2011, 16h22
  2. problème dans l'appel d'une commande Linux dans python
    Par ghadroud dans le forum Général Python
    Réponses: 25
    Dernier message: 20/04/2009, 14h55
  3. [Process] éxecution d'une commande système
    Par alex'l dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 13/09/2005, 17h29
  4. Réponses: 3
    Dernier message: 22/10/2004, 12h04
  5. Réponses: 2
    Dernier message: 24/06/2003, 20h31

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