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实现保存网页到本地示例
Mar 16 Python
Python中的yield浅析
Jun 16 Python
Linux系统上Nginx+Python的web.py与Django框架环境
Dec 25 Python
Python3解决棋盘覆盖问题的方法示例
Dec 07 Python
简单实现python画圆功能
Jan 25 Python
Python之pandas读写文件乱码的解决方法
Apr 20 Python
基于python批量处理dat文件及科学计算方法详解
May 08 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
Oct 11 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 Python
使用Python求解带约束的最优化问题详解
Feb 11 Python
后端开发使用pycharm的技巧(推荐)
Mar 27 Python
python实现飞船游戏的纵向移动
Apr 24 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
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
php中文字母数字验证码实现代码
2008/04/25 PHP
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
PHP中strtotime函数使用方法分享
2012/01/10 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
js读写cookie实现一个底部广告浮层效果的两种方法
2013/12/29 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
vue-cli配置文件——config篇
2018/01/04 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
Node.js Domain 模块实例详解
2020/03/18 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
JS实现简单打字测试
2020/06/24 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python生成随机验证码的两种方法
2015/12/22 Python
python实现简单神经网络算法
2018/03/10 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
python 接口实现 供第三方调用的例子
2019/08/13 Python
python 绘制场景热力图的示例
2020/09/23 Python
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
电子银行营销方案
2014/02/22 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
MySQL数据库完全卸载的方法
2022/03/03 MySQL