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 :

Résultat d'une commande DOS dans une variable


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Points : 17
    Points
    17
    Par défaut Résultat d'une commande DOS dans une variable
    Salut,
    Comment affecter le résultat d'une commande DOS dans une variable ?
    Merci

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Le code de retour d'une commande DOS n'est pas fiable, si mes souvenirs sont bons, avec Python.

  3. #3
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Bonjour,
    Le code de retour d'une commande DOS n'est pas fiable
    Mais il est possible de récuperer la sortie d'un programme DOS et de la parser simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    import os
     
     
    def ping(adresse, repeat=1, data_size=32, TTL=255):
        commande = "ping %s -n %i -l %i -i %i" % (adresse, repeat, data_size, TTL)
        r = os.popen(commande).read()
        temps = []
        for ligne in r.split('\n'):
            for t in ["temps=", "temps<"]:
                try:
                    temps.append(int(ligne.split(t)[1].split('ms')[0].strip()))
                except:
                    pass
                else:
                    break
        return temps
     
     
     
    if __name__ == '__main__':
        print "ping localhost: %i ms" % ping('127.0.0.1', repeat=1).pop()
        print "ping google.fr: %s" % str(ping('google.fr', repeat=6))
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

Discussions similaires

  1. Exécuter une commande SQL dans une commande Dos
    Par meddly dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 21/11/2013, 11h37
  2. [Batch] Une commande DOS dans 1 variable
    Par agdid04 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 21/06/2013, 16h59
  3. Réponses: 9
    Dernier message: 14/12/2010, 12h18
  4. Réponses: 8
    Dernier message: 19/09/2007, 16h51
  5. lancer une commande dos dans une page ASP
    Par noznoz78 dans le forum ASP
    Réponses: 4
    Dernier message: 13/02/2006, 19h06

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