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 相关文章推荐
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
May 24 Python
Python3用tkinter和PIL实现看图工具
Jun 21 Python
解决PyCharm import torch包失败的问题
Oct 13 Python
python得到windows自启动列表的方法
Oct 14 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
Jun 24 Python
Python无损压缩图片的示例代码
Aug 06 Python
Python生成并下载文件后端代码实例
Aug 31 Python
python 实现mysql自动增删分区的方法
Apr 01 Python
整理Python中常用的conda命令操作
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
php文件怎么打开 如何执行php文件
2011/12/21 PHP
php不用正则验证真假身份证
2013/11/06 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
Python实现的Excel文件读写类
2015/07/30 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
基于python实现KNN分类算法
2020/04/23 Python
python命令 -u参数用法解析
2019/10/24 Python
Ubuntu16安装Python3.9的实现步骤
2020/12/15 Python
Python实现粒子群算法的示例
2021/02/14 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
简单说说tomcat的配置
2013/05/28 面试题
一些关于MySql加速和优化的面试题
2014/01/30 面试题
保密普查工作实施方案
2014/02/25 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
介绍信怎么写
2015/01/30 职场文书
基层工作经历证明
2015/06/19 职场文书
golang import自定义包方式
2021/04/29 Golang
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫
Java Spring Lifecycle的使用
2022/05/06 Java/Android