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实现ip查询示例
Mar 26 Python
Python常用正则表达式符号浅析
Aug 13 Python
python通过BF算法实现关键词匹配的方法
Mar 13 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
Apr 14 Python
python如何将图片转换为字符图片
Aug 19 Python
对python中的xlsxwriter库简单分析
May 04 Python
Django REST framework 分页的实现代码
Jun 19 Python
python 批量解压压缩文件的实例代码
Jun 27 Python
Python Numpy计算各类距离的方法
Jul 05 Python
Python 如何提高元组的可读性
Aug 26 Python
详解opencv中画圆circle函数和椭圆ellipse函数
Dec 27 Python
详解Python牛顿插值法
May 11 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
APMServ使用说明
2006/10/23 PHP
php从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
2017/05/20 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
在JavaScript中处理时间之getHours()方法的使用
2015/06/10 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
JS代码实现根据时间变换页面背景效果
2016/06/16 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
Angular 4 指令快速入门教程
2017/06/07 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
python实现微信自动回复机器人功能
2019/07/11 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
Sandro法国官网:法国成衣品牌
2019/08/28 全球购物
母亲80寿诞答谢词
2014/01/16 职场文书
读书活动总结范文
2014/04/26 职场文书
2016春节慰问信范文
2015/03/25 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL