Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.3.1 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Afficher le ping

Bonjour,

J'ai vu qu'en python nous pouvions afficher le ping
la commande : os . système ( "ping-t 192.168.1.1" )

Si vous pouviez me donner une indication pour récupérer la valeur du ping seule
merci

Réponses

  • Quelle valeur exactement ?

    os.system() renvoie la valeur de retour du processus appelé (unix).

    Voir https://docs.python.org/2.7/library/os.html#os.system
    et

    man ping
  • pour la valeur du ping ex : 32
    la doc est compliquée par contre
    sous cmd en tapant ping +IP on obtiens la valeur du ping
  • May 2014 modifié
    bonjour,

    Voilà je place le code correspondant :
    Fonctionne très bien mais si vous avez une indication pour invalider l'affichage du CMD, en batch pas de souci mais là si j'introduit le code erreur.

    fenping = Tk()
    fenping.title('Interrogation du ping')
    fenping.geometry('800x420+200+300')
    # Affichage scrolling ping
    scrollbar = Scrollbar(fenping,bg='blue',orient=VERTICAL)
    scrollbar.pack( side = RIGHT, fill=Y )
    listcat = Listbox(fenping, background = 'ghost white', yscrollcommand = scrollbar.set )

    Iping = Canvas(fenping,bg='white',borderwidth=2,relief=RIDGE)
    Iping.pack(side=LEFT)
    # Image
    photo=PhotoImage(file="ping.gif")
    pagegarde = Label(Iping, image=photo)
    pagegarde.pack()

    # le ping
    ip = socket.gethostbyname(socket.gethostname())
    encodage="cp850"
    commande = ["ping", ip]
    try:
    out, _ = subprocess.Popen(commande, stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()
    except (ValueError, OSError) as err:
    return ("Erreur: %s" % (err.args[0],)).decode(encodage)
    reponse = out.decode(encodage)
    # importe le résultat dans fichier txt
    with open('ping.txt', 'w') as txtping:
    txtping.write(reponse)
    txtping.close()
    # Lecture du fichier txt ping
    with open('ping.txt', 'r') as txtping:
    ligne = txtping.readlines()
    for index in ligne:
    listcat.insert(END,index)

    listcat.pack (side = LEFT, fill = BOTH, ipadx=600, ipady=800, padx=30, pady=50)
    scrollbar.config( command = listcat.yview )
    txtping.close()
    fenping.mainloop()
  • En enlevant le pipe du stdout ?

    stdout=None
  • Non, ça marche pas
  • Pas trop d'idée là, t'as plus qu'à jouer avec l'API ou/et passer des heures sur internet ;-)
    Regarde aussi du côté des modules Python ou même de librairies C/C++, c'est compatible ! De plus ce sera plus "propre".
  • Moi non plus 8.( mais je vais trouver et donnerais la solution.
    merci
Connectez-vous ou Inscrivez-vous pour répondre.