python 实现ping的方法

测试需要,做了一个ping的方法,需要两个库,一个ping3,一个re

思路是ping 的返回结果有很多,但是如果能ping通,返回结果为数字。所以,用正则表达式来判断返回结果是否为数字,这样就能判断是否ping通。

# -*- coding:utf-8 -*-
import ping3
import re
#下面的正则表达式可以判断一个字符串是否为整数或浮点数。
def is_number(str):
    pattern = re.compile(r'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$')
    return bool(pattern.match(str))

#ping可传参数:ping('192.168.1.1', 4, unit: str = "s", src_addr: str = None, ttl: int = None, seq: int = 0, size: int = 56, interface: str = None)
result=ping3.ping('192.168.1.100', 4,'1000','192.168.1.251')

print(result)
if is_number(str(result)):
    print('IP地址可达')
else:
    print('无法连接该地址')

输出结果如下: 

python 实现ping的方法_第1张图片

你可能感兴趣的:(python,开发语言,服务器)