python--杂识--12--ping测试

该Python脚本使用subprocess模块执行ping命令,检查给定IP地址的网络连接状态。如果能ping通,返回ok,否则返回failed。示例运行结果显示对127.0.0.1的测试成功,而对1.1.1.1的测试失败。
摘要由CSDN通过智能技术生成

测试是否可以ping通某个ip地址:

import re
import time
import subprocess
import sys


def is_network_connectivity(host):
    cmdline = "ping %s" % host
    cmdline = cmdline.split(" ")

    if re.findall("[^0-9\.]", host):
        return "failed"
    p = subprocess.Popen(cmdline, shell=False, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
    time.sleep(5)
    p.send_signal(2)
    time.sleep(0.1)
    res = p.stdout.readlines()
    p.stdout.close()
    res = [line.decode().strip() for line in list(res) if line.decode().strip()]
    if res:
        for line in res:
            if "64 bytes from" in line:
                return "ok"
    return "failed"


if __name__ == "__main__":
    host = sys.argv[1]
    res = is_network_connectivity(host)
    print(res)


"""
运行结果1:
[root@Chasing-Dreams test]#  python test.py 127.0.0.1
ok
"""
"""
运行结果2:
[root@Chasing-Dreams test]#  python test.py 1.1.1.1
failed
"""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值