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中zip()函数用法实例教程
Jul 31 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
Mar 16 Python
Python利用Beautiful Soup模块修改内容方法示例
Mar 27 Python
EM算法的python实现的方法步骤
Jan 02 Python
python得到qq句柄,并显示在前台的方法
Oct 14 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
Oct 28 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
Dec 11 Python
python实现全盘扫描搜索功能的方法
Feb 14 Python
Django使用Channels实现WebSocket的方法
Jul 28 Python
python网络爬虫实现发送短信验证码的方法
Feb 25 Python
python自然语言处理之字典树知识总结
Apr 25 Python
Django drf请求模块源码解析
Jun 08 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相关资料
2006/10/09 PHP
php字符串截取函数用法分析
2014/11/25 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
Javascript实现DIV滚动自动滚动到底部的代码
2012/03/01 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
AngularJS ui-router (嵌套路由)实例
2017/03/10 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
node静态服务器实现静态读取文件或文件夹
2019/12/03 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
python继承和抽象类的实现方法
2015/01/14 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
TensorFlow实现创建分类器
2018/02/06 Python
python中使用zip函数出现错误的原因
2018/09/28 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
汽车销售求职自荐信
2013/10/01 职场文书
4s店机修工岗位职责
2013/12/20 职场文书
实习生岗位职责
2014/04/12 职场文书
五年级学生评语
2014/04/22 职场文书
好听的队名和口号
2014/06/09 职场文书
员工薪酬激励方案
2014/06/13 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS
Python实战实现爬取天气数据并完成可视化分析详解
2022/06/16 Python