Python检查ping终端的方法


Posted in Python onJanuary 26, 2019

菜鸟一枚,写着试了试,虽说有点杂乱,但还是能用,我是在linux下运行的

大致说下过程:

1、把需要ping的网段中所有ip存到数组中(我是放到数组中了,其实直接for循环,一个个的也行)

2、遍历数组,逐个ping

3、根据ping返回的字符串,判断是否ping通

4、结果存入txt中

下面上代码咯(其实可以简化代码的,我这里就不简化了)

#!/usr/bin/env python
# coding: utf8
 
import time
import subprocess
import codecs
import os
import re
 
# telnet host
def pingComputer(host, statusFile):
	status1 = 'ping success'
	status2 = 'ping faild'
	errorStr = 'Destination'
	for ipAdd in host:
		print ("get: " +ipAdd + " status")
		# get now time
		nowTime = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
		p = os.popen("ping -q -c 2 -r " + ipAdd)
		line = p.read()
		
		# judge errorstr in line if
		if errorStr in line:
			writeToText(nowTime, ipAdd, status2, statusFile)
		else:
			writeToText(nowTime, ipAdd, status1, statusFile)
 
		
# write status information to txt
def writeToText(nowTime, ipAdd, status, statusFile):
	s_text = 'TIME:' + nowTime + '\t' + 'IP:' + ipAdd + '\t' + 'STATUS:' + status + '\r\n'
	
	if '0' == judgeFile(statusFile):
		with open(statusFile, 'a') as f:
			f.write(s_text)
			f.close()
	if '1' == judgeFile(statusFile):
		with open(statusFile, 'w') as f:
			f.write(s_text)
			f.close()
		
		
			
# Determine whether statusFile exists 
# 0: exists
# 1: no exists
def judgeFile(statusFile):
	if os.path.exists(statusFile):
		return '0'
	else:
		return '1'
			
if __name__ == "__main__":
	IpFirst = '192.168.1.'
	# ip:1~254
	host = []
	for j in range(254):
 		host.append(IpFirst + str(j + 1))
	# write file
	statusFile = '/root/UpStatus.txt'
	pingComputer(host, statusFile)

就是一台一台的ping,判断,有点慢!

以上这篇Python检查ping终端的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python文件去除注释的方法
May 25 Python
Python在Console下显示文本进度条的方法
Feb 14 Python
Python中不同进制的语法及转换方法分析
Jul 27 Python
微信 用脚本查看是否被微信好友删除
Oct 28 Python
关于Python元祖,列表,字典,集合的比较
Jan 06 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
Dec 14 Python
python list元素为tuple时的排序方法
Apr 18 Python
python实现简单淘宝秒杀功能
May 03 Python
对python中的乘法dot和对应分量相乘multiply详解
Nov 14 Python
对Python生成器、装饰器、递归的使用详解
Jul 19 Python
python 制作简单的音乐播放器
Nov 25 Python
用Python爬取某乎手机APP数据
Jun 15 Python
使用python Telnet远程登录执行程序的方法
Jan 26 #Python
Python判断telnet通不通的实例
Jan 26 #Python
解决python测试opencv时imread导致的错误问题
Jan 26 #Python
在Python 中实现图片加框和加字的方法
Jan 26 #Python
python opencv判断图像是否为空的实例
Jan 26 #Python
Python 判断图像是否读取成功的方法
Jan 26 #Python
如何利用Python分析出微信朋友男女统计图
Jan 25 #Python
You might like
Oracle 常见问题解答
2006/10/09 PHP
PHP中的正规表达式(一)
2006/10/09 PHP
PHPMailer发送邮件
2016/12/28 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
jquery入门—访问DOM对象方法
2013/01/07 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
jQuery照片伸缩效果不影响其他元素的布局
2014/05/09 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
vue  elementUI 表单嵌套验证的实例代码
2019/11/06 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
Python运行的17个时新手常见错误小结
2012/08/07 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
房地产项目策划书
2014/02/05 职场文书
平安工地汇报材料
2014/08/19 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
期末考试复习计划
2015/01/19 职场文书
努力学习保证书
2015/02/26 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers