簡體   English   中英

如何獲取 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)

正如 Jordanm 和 Shmee 在評論中指出的那樣,請進行相應的更改,之后,您需要打印 Packet Loss 的值,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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM