Affichage résultat commande Popen
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 :
Code:
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'' |
Comment faire pour avoir un affichage correct ?
Voici comment j'utilise la fonction Popen:
Le résultat est affiché dans une page web html.
Code:
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 |
Merci de votre aide.