Python pexpect包应用之快速多线程ping测试
#!/usr/bin/python #_*_coding:utf-8_*_ 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)) #www.iplaypy.com #多线程同时执行 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
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/scripts-shell/ss2476.html
相关文章 Recommend
- • 2019年3月最新消息: Python 3.4.10 现已推出
- • [上海]招Python量化系统开发工程师
- • 优集品网络科技有限公司招Python中/高级工程师
- • 爱因互动科技发展有限公司招募Python开发攻城狮
- • mozio招聘Python/Django工程师
- • Kavout金融科技公司招Python研发工程师
- • Python数组逆向输出,编程练习题实例四十
- • Python数组插入排序,编程练习题实例三十九
- • Python矩阵for循环应用,编程练习题实例三十八
- • Python操作Redis数据库方面的问题
- • 请python高手帮我看看这段python代码中函数setter的
- • Python什么方法可以快速将两个队列变成字典
我要分享到:
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • 绑定修改网卡绑定关系的python程序
- • 网友用python把IPv4地址变成LITNET-NAT64网段
- • 基于python Selenium的用户登录自动化测试
- • 用python代码科学上Google
- • python论坛自动签到用bs4模块
- • python北京地铁月支出简易计算器
- • 用python查找未注册的域名
- • Windows环境用Python备份MySQL脚本
- • 批量调整图片尺寸的python脚本
- • Python方法获取百度地图数据示例源码
图文精华 RECOMMEND
-
用python代码科学上Google
-
Windows环境用Python备份MySQL脚本
-
批量调整图片尺寸的python脚本
-
Python方法获取百度地图数据示例源
-
控制台进度自动刷新python方法源码
-
web.py能条件判断的页面执行计时方
热点文章 HOT
- web.py能条件判断的页面执行计时方法
- Windows环境用Python备份MySQL脚本
- 从糗事百科下载数据的python方法示例
- 基于python Selenium的用户登录自动化测试
- 解决Python2不支持datetime的json encode问题
- Python完成抓取并写入mysql库的方法
- 一个初学者练手的Python多线程实现下载的
- Python调chrome刷页面完成刷点击量操作