I am using the following code to ping a website to check for connectivity. How can I parse the results back to get "Lost = " to see how many were lost?
def pingTest():
host = "www.wired.com"
ping = subprocess.Popen(
["ping","-n","4",host],
stdout = subprocess.PIPE,
stderr = subprocess.PIPE
)
out,error = ping.communicate()
print out
This is the return I get from out
Pinging wired.com [173.223.232.42] with 32 bytes of data:
Reply from 173.223.232.42: bytes=32 time=54ms TTL=51
Reply from 173.223.232.42: bytes=32 time=54ms TTL=51
Reply from 173.223.232.42: bytes=32 time=54ms TTL=51
Reply from 173.223.232.42: bytes=32 time=54ms TTL=51
Ping statistics for 173.223.232.42:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 54ms, Maximum = 54ms, Average = 54ms
Step 1: Construct a regular expression that will match Lost = 0 (0% loss)
, using \d
tags to substitute for the numeric values, which will vary. Use capturing groups to preserve these values.
Step 2: Use re.search to scan the out
string.
Step 3: Extract the values from the re's capturing groups.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With