Python实现快速多线程ping的方法


Posted in Python onJuly 15, 2015

本文实例讲述了Python实现快速多线程ping的方法。分享给大家供大家参考。具体如下:

#!/usr/bin/python
#_*_coding:utf-8_*_
#
'''
名称:快速多线程ping程序
开发:gyhong gyh9711
日期:20:51 2011-04-25
'''
import pexpect
import datetime
from threading import Thread
host=["192.168.1.1","192.168.1.123","192.168.2.1",
"192.168.1.1","192.168.1.123","192.168.2.1",
"192.168.1.1","192.168.1.123","192.168.2.1",
"192.168.1.1","192.168.1.123","192.168.2.1",
"192.168.1.1"]
report_ok=[]
report_error=[]
class PING(Thread):
  def __init__(self,ip):
    Thread.__init__(self)
    self.ip=ip
  def run(self):
    Curtime = datetime.datetime.now()  
    #Scrtime = Curtime + datetime.timedelta(0,minute,0) 
    #print("[%s]主机[%s]" % (Curtime,self.ip))
    ping=pexpect.spawn("ping -c1 %s" % (self.ip))
    check=ping.expect([pexpect.TIMEOUT,"1 packets transmitted, 1 received, 0% packet loss"],2)
    if check == 0:
      print("[%s] 超时 %s" % (Curtime,self.ip))
    elif check == 1:
      print ("[%s] %s 可达" % (Curtime,self.ip))
    else:
      print("[%s] 主机%s 不可达" % (Curtime,self.ip))
#多线程同时执行
T_thread=[]
for i in host:
  t=PING(i)
  T_thread.append(t)
for i in range(len(T_thread)):
  T_thread[i].start()
#
#print ("\n=========问题主机情况如下==========\n")
#output(report_error)
#print ("\n=========正常主机情况如下==========\n")
#output(report_ok)

执行结果:

administrator@nagios:/win/pexpect$ ./ping.py
[2011-04-25 21:30:22.126981] 192.168.1.1 可达
[2011-04-25 21:30:22.148376] 192.168.1.1 可达
[2011-04-25 21:30:22.179846] 192.168.1.1 可达
[2011-04-25 21:30:22.203691] 192.168.1.1 可达
[2011-04-25 21:30:22.227696] 192.168.2.1 可达
[2011-04-25 21:30:22.134049] 超时 192.168.1.123
[2011-04-25 21:30:22.145610] 超时 192.168.2.1
[2011-04-25 21:30:22.157558] 超时 192.168.1.123
[2011-04-25 21:30:22.167898] 超时 192.168.2.1
[2011-04-25 21:30:22.197572] 超时 192.168.1.123
[2011-04-25 21:30:22.202430] 超时 192.168.2.1
[2011-04-25 21:30:22.215561] 超时 192.168.1.123
[2011-04-25 21:30:22.229952] 超时 192.168.1.1

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python matplotlib中文显示参数设置解析
Dec 15 Python
详解python字节码
Feb 07 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
PyQt5实现简单数据标注工具
Mar 18 Python
python按比例随机切分数据的实现
Jul 11 Python
python进程间通信Queue工作过程详解
Nov 01 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
Python小白垃圾回收机制入门
Jun 09 Python
python实现计算器简易版
Dec 17 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
Jul 15 #Python
Python的Django框架中if标签的相关使用
Jul 15 #Python
在Python的Django框架中调用方法和处理无效变量
Jul 15 #Python
python实现判断数组是否包含指定元素的方法
Jul 15 #Python
python获取元素在数组中索引号的方法
Jul 15 #Python
Django框架中方法的访问和查找
Jul 15 #Python
Python的Django框架中的Context使用
Jul 15 #Python
You might like
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
学习php过程中的一些注意点的总结
2013/10/25 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
什么是PHP7中的孤儿进程与僵尸进程
2019/04/14 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
改版了网上的一个js操作userdata
2007/04/27 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
angular分页指令操作
2017/01/09 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
vue 实现滚动到底部翻页效果(pc端)
2019/07/31 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
python实现通过代理服务器访问远程url的方法
2015/04/29 Python
Python+django实现简单的文件上传
2016/08/17 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
TensorFlow的权值更新方法
2018/06/14 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
使用django的ORM框架按月统计近一年内的数据方法
2019/07/18 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
单位办理社保介绍信
2014/01/10 职场文书
趣味比赛活动方案
2014/02/15 职场文书
活动宣传策划方案
2014/05/23 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
信访工作汇报材料
2014/10/27 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书