Bonjour,
Je souhaiterais récupérer l'affichage d'une commande exécutée a l'aide de Popen, mais le problème c'est que l'affichage est très mauvais.
Exemple de l'affichage que je récupère lorsque j'exécute un ping :
Comment faire pour avoir un affichage correct ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 b'\r\n' b"Envoi d'une requ\x88te 'ping' sur google.fr [216.239.59.104] avec 32 octets de donn\x82es\xff:\r\n" b'R\x82ponse de 216.239.59.104\xff: octets=32 temps=48 ms TTL=55\r\n' b'R\x82ponse de 216.239.59.104\xff: octets=32 temps=46 ms TTL=55\r\n' b'R\x82ponse de 216.239.59.104\xff: octets=32 temps=46 ms TTL=55\r\n' b'R\x82ponse de 216.239.59.104\xff: octets=32 temps=53 ms TTL=55\r\n' b'\r\n' b'Statistiques Ping pour 216.239.59.104:\r\n' b' Paquets\xff: envoy\x82s = 4, re\x87us = 4, perdus = 0 (perte 0%),\r\n' b'Dur\x82e approximative des boucles en millisecondes :\r\n' b' Minimum = 46ms, Maximum = 53ms, Moyenne = 48ms\r\n' b''
Voici comment j'utilise la fonction Popen:
Le résultat est affiché dans une page web html.
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 p = Popen([commande, IP], stdout=PIPE) res = open("resultat.html",'w+') res.write("<html><body><h1> Vous avez demandé un " + commande + " vers " + IP + " </h1><br/>") while True: line = p.stdout.readline() res.write("<br/>" + str(line)) if not line: break
Partager