如何获取 Python.subprocess 中的丢包值
How can I get the packet loss value in Python.subprocess
我正在尝试从 ping 中获取数据包丢失值
但它给了我 b'Bad value for option -c.\r\n'
.
如何获取丢包值?
import subprocess
from subprocess import Popen, PIPE
hostname = "8.8.8.8"
process = subprocess.Popen(['ping','-c','5',hostname],
stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()
print(stdout)
正如 Jordam 和 Shmee 在评论中指出的那样,请相应地进行更改,之后,您需要打印丢包的值,List Comprehension 肯定会有所帮助。
你可以这样做 -
packet_loss = float([x for x in stdout.decode('utf-8').split('\n') if x.find('packet loss') != -1][0].split('%')[0].split(' ')[-1])
print("%s percent" % packet_loss)
#DO SOMETHING
我正在尝试从 ping 中获取数据包丢失值
但它给了我 b'Bad value for option -c.\r\n'
.
如何获取丢包值?
import subprocess
from subprocess import Popen, PIPE
hostname = "8.8.8.8"
process = subprocess.Popen(['ping','-c','5',hostname],
stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()
print(stdout)
正如 Jordam 和 Shmee 在评论中指出的那样,请相应地进行更改,之后,您需要打印丢包的值,List Comprehension 肯定会有所帮助。 你可以这样做 -
packet_loss = float([x for x in stdout.decode('utf-8').split('\n') if x.find('packet loss') != -1][0].split('%')[0].split(' ')[-1])
print("%s percent" % packet_loss)
#DO SOMETHING