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 相关文章推荐
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
Apr 06 Python
Python实现判断并移除列表指定位置元素的方法
Apr 13 Python
在python中安装basemap的教程
Sep 20 Python
Python Pandas批量读取csv文件到dataframe的方法
Oct 08 Python
Django 导出项目依赖库到 requirements.txt过程解析
Aug 23 Python
Python 将 QQ 好友头像生成祝福语的实现代码
May 03 Python
QML用PathView实现轮播图
Jun 03 Python
python 图像插值 最近邻、双线性、双三次实例
Jul 05 Python
python中tkinter窗口位置\坐标\大小等实现示例
Jul 09 Python
python如何实现图片压缩
Sep 11 Python
python实现图像随机裁剪的示例代码
Dec 10 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实现对两个数组进行减法操作的方法
2015/04/17 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
php及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
laravel dingo API返回自定义错误信息的实例
2019/09/29 PHP
JavaScript 不只是脚本
2007/05/30 Javascript
javascript 表单验证常见正则
2009/09/28 Javascript
JQuery live函数
2010/12/24 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
Python原始字符串(raw strings)用法实例
2014/10/13 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
在Python中关于使用os模块遍历目录的实现方法
2019/01/03 Python
Django 中间键和上下文处理器的使用
2019/03/17 Python
django 中QuerySet特性功能详解
2019/07/25 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
哪些是python中web开发框架
2020/06/17 Python
python和C++共享内存传输图像的示例
2020/10/27 Python
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
个人实用的自我评价范文
2013/11/23 职场文书
网页设计个人找工作求职信
2013/11/28 职场文书
酒店保洁主管岗位职责
2013/11/28 职场文书
年终总结会主持词
2014/03/25 职场文书
需求分析说明书
2014/05/09 职场文书
2014年学习部工作总结
2014/11/12 职场文书
田径运动会通讯稿
2015/07/18 职场文书