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中的对象拷贝示例 python引用传递
Jan 23 Python
Python实现Linux的find命令实例分享
Jun 04 Python
Python使用django框架实现多人在线匿名聊天的小程序
Nov 29 Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 Python
python定向爬虫校园论坛帖子信息
Jul 23 Python
python爬取微信公众号文章的方法
Feb 26 Python
线程安全及Python中的GIL原理分析
Oct 29 Python
如何基于Python获取图片的物理尺寸
Nov 25 Python
Python手绘可视化工具cutecharts使用实例
Dec 05 Python
python模拟点击网页按钮实现方法
Feb 25 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
Python Merge函数原理及用法解析
Sep 16 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
CI框架中zip类应用示例
2014/06/17 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
PHP实现微信提现功能
2018/09/30 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
JavaScript 判断iPhone X Series机型的方法
2019/01/28 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
详解Python中expandtabs()方法的使用
2015/05/18 Python
python 列表中[ ]中冒号‘:’的作用
2019/04/30 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
应聘教师自荐信
2013/10/12 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
运动会1000米加油稿
2015/07/21 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python