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 Web服务器Tornado使用小结
May 06 Python
Python SqlAlchemy动态添加数据表字段实例解析
Feb 07 Python
Python实现的读写json文件功能示例
Jun 05 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
在Pycharm中将pyinstaller加入External Tools的方法
Jan 16 Python
python+pyqt5编写md5生成器
Mar 18 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
在python里创建一个任务(Task)实例
Apr 25 Python
python读取yaml文件后修改写入本地实例
Apr 27 Python
完美解决python针对hdfs上传和下载的问题
Jun 05 Python
python 装饰器重要在哪
Feb 14 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 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
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
php下检测字符串是否是utf8编码的代码
2008/06/28 PHP
深入PHP内存相关的功能特性详解
2013/06/08 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
EXT中xtype的含义分析
2010/01/07 Javascript
javascript Object与Function使用
2010/01/11 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
简述JavaScript的正则表达式中test()方法的使用
2015/06/16 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
微信小程序实现传递多个参数与事件处理
2019/08/12 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
2020/02/06 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
详解程序意外中断自动重启shell脚本(以Python为例)
2019/07/26 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
python的setattr函数实例用法
2020/12/16 Python
python字典与json转换的方法总结
2020/12/28 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
中国电视购物:快乐购
2017/02/04 全球购物
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
澳大利亚音乐商店:Bava’s Music City
2019/05/05 全球购物
车工岗位职责
2013/11/26 职场文书
事业单位辞职信范文
2014/01/19 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
中国梦读书活动总结
2014/07/10 职场文书
2014年保卫工作总结
2014/12/05 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书