windows下用python实现ping

我使用的方法是直接运行ping程序,从结果中正则匹配出想要的数据。

不同的系统中,匹配过程可能有差别。

# -*- coding:utf8 -*-
#!/usr/bin/python
import subprocess
import re

class LinkState(object):
    def __init__(self,ip):
        self.ip = ip
        self.getLinkState(self.ip)

    # 获取链路状态
    def getLinkState(self,ip):
        #运行ping程序
        p = subprocess.Popen(["ping.exe", ip],
             stdin = subprocess.PIPE,
             stdout = subprocess.PIPE,
             stderr = subprocess.PIPE,
             shell = True)  

        #得到ping的结果
        out = p.stdout.read()
        # print out

        #找出丢包率,这里通过‘%’匹配
        regex = re.compile(r‘\w*%\w*‘)
        packetLossRateList = regex.findall(out)
        self.packetLossRate = packetLossRateList[0]

        #找出往返时间,这里通过‘ms’匹配
        regex = re.compile(r‘\w*ms‘)
        timeList = regex.findall(out)
        self.minTime = timeList[-3]
        self.maxTime = timeList[-2]
        self.averageTime = timeList[-1]

        self.showResult()

    #输出结果
    def showResult(self):
        result = {‘packetLossRate‘:self.packetLossRate,‘minTime‘:self.minTime,‘maxTime‘:self.maxTime,‘averageTime‘:self.averageTime}
        print result

if __name__ == ‘__main__‘:
    ip = ‘baidu.com‘    #要ping的主机
    LinkState(ip)
时间: 2024-08-07 05:59:41

windows下用python实现ping的相关文章

windows下ML python lib的安装

万事开头难,作为第一篇博客,学不来深入浅出,妙趣横生,但求老老实实把事情说明白. 事情起源于kaggle竞赛者很慷慨地在github上开放了源码,kaggle非常贴心地将这些优异的解决方案和实现整理出来.对于小白级数据工作者,如我,是临摹思路,学习代码的绝好机会.为了享受这场盛宴,我在windows下搭建了python环境.由于ML包依赖有点复杂,本文赘述一二. 常见ML的python lib有:numpy, matplotlib, scipy, scikit-learn. 方式一: 常用的wi

windows下安装python +eclipse pydev 插件

目录: 一. Python简介 二. 安装python 1. 在windows下安装 2. 在Linux下安装 三. 在windows下配置python集成开发环境(IDE) 1. 在Eclipse中安装PyDev插件 2. 配置Python Interpreters 四. 创建Python Project 五. 编写HelloWorld 六. 小结 一. Python简介: Python在Linux.windows.Mac os等操作系统下都有相应的版本,不管在什么操作系统下,它都能够正常工作

windows下安装python模块

如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar.gz 2.解压 3.打开cmd窗口,进入解压目录 4.输入命令  "python setup.py install"

【转】 详细介绍windows下使用python pylot进行网站压力测试

windows下使用python进行网站压力测试,有两个必不可少的程序需要安装,一个是python,另一个是pylot.python是一个安装软件,用来运行python程序,而pylot则是python的一个功能插件,作用是进行网站压力测试.本文将介绍在windows下如何使用python pylot进行网站压力测试. 一.安装python 如果你已经成功安装了python,那么可以忽略这步.否则,请首先正确安装python,确保能运行正常.可以看看这里,windows安装python详细教程

Windows 下让 Python 多个版本共存(支持 pip)

转载自 http://blog.kgzx.net/index.php/archives/40/ 因为类库兼容性的关系,写实际项目时都是用 Python 2,但自己试验性的写点小东西还是喜欢用 Python 3在这记录一下在 windows 下让这两个版本共存的配置步骤 在官网下载两个版本的 exe 文件并安装.因为我主要用 v2,所以把它放在 后面 安装.这样在调用 python 命令时,默认执行的就行 v2 版本的 进入 v3 的安装文件夹,把 python.exe 和 pythonw.exe

windows下安装python和依赖包的利器——Anaconda

在windows下安装python和很多依赖包,安装起来略为痛苦,可以使用python的大整合包——Anaconda Anaconda下载地址: http://continuum.io/downloads 下载好后,直接双击安装就OK了,连环境变量Path都不用自己设,方便快捷.最方便的一点是,它整合了大量的依赖包,下面是它所包含的全部依赖包: http://docs.continuum.io/anaconda/pkg-docs.html 其中比如科学计算的numpy, theano等都应有尽有

linux和windows下安装python拓展包及requirement.txt安装类库

http://blog.csdn.net/pipisorry/article/details/39902327 python拓展包安装 直接安装拓展包默认路径: Unix(Linux)默认路径:/usr/local/lib/pythonX.Y/site-packagesWindows默认路径:C:\PythonXY\Lib\site-packages 測试和升级python拓展安装包pip 查看pip安装时相应的python版本号 which pip /d/python3.4.2/Scripts

windows下使用python googleprotobuf

首先下载:protobuf-2.5.0.tar.gz 和protoc-2.5.0-win32.zip.两者的版本要对应: 将下载的google protobuf解压,会看到一个python目录,Windows下可将vsprojects\Debug下的protoc.exe拷贝到python目录下. 在cmd下,切换到该目录,执行python setup.py install 注意了,这里如果不导入一个C++编译过的包,会出现这样的错误 file google\protobuf\descriptor

Windows下安装python的scipy等科学计算包(转)

如果要使用python进行科学计算.数据分析等,一定要安装scipy.seaborn.numpy等等包. 但Windows下安装python的第三方库经常会出现问题.此前,已介绍过Windows下如何安装lxml,其实,这种安装方法也适合于其他无法通过pip或者IDE包管理工具进行安装的场景. 如果使用python的主要目的是为了进行科学计算.数据分析.爬虫等项目,强烈推荐使用Anaconda而不是其他IDE. Anaconda在python语言外,还集成了numpy.scipy.matplot