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中的pprint折腾记
Jan 21 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
Jun 29 Python
Python实现的购物车功能示例
Feb 11 Python
python删除本地夹里重复文件的方法
Nov 19 Python
python dataframe向下向上填充,fillna和ffill的方法
Nov 28 Python
selenium+python截图不成功的解决方法
Jan 30 Python
利用python如何在前程无忧高效投递简历
May 07 Python
六行python代码的爱心曲线详解
May 17 Python
解决django model修改添加字段报错的问题
Nov 18 Python
python requests模拟登陆github的实现方法
Dec 26 Python
Python实现进度条和时间预估的示例代码
Jun 02 Python
Python机器学习实战之k-近邻算法的实现
Nov 27 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中json_decode()和json_encode()的使用方法
2012/06/04 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
CI框架表单验证实例详解
2016/11/21 PHP
php微信公众号开发模式详解
2016/11/28 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
nodejs win7下安装方法
2012/05/24 NodeJs
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
AngularJS 整理一些优化的小技巧
2016/08/18 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
vue element upload组件 file-list的动态绑定实现
2019/10/11 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
Python内置函数的用法实例教程
2014/09/08 Python
Python中的ctime()方法使用教程
2015/05/22 Python
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
python logging.info在终端没输出的解决
2020/05/12 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
德国自然时尚和有机产品购物网站:Waschbär
2019/05/29 全球购物
学生打架检讨书
2014/02/14 职场文书
新闻编辑求职信
2014/07/13 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
入党心得体会
2019/06/20 职场文书