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编写分类决策树的代码
Dec 21 Python
python3实现公众号每日定时发送日报和图片
Feb 24 Python
python实现自动登录
Sep 17 Python
python 实现对文件夹中的图像连续重命名方法
Oct 25 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
Jun 21 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
Mar 23 Python
使用python客户端访问impala的操作方式
Mar 28 Python
django实现更改数据库某个字段以及字段段内数据
Mar 31 Python
python读取hdfs并返回dataframe教程
Jun 05 Python
在Keras中实现保存和加载权重及模型结构
Jun 15 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 Python
python连接mysql数据库并读取数据的实现
Sep 25 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
风格模板初级不完全修改教程
2006/10/09 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
比较完整的微信开发php代码
2016/08/02 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
你的 mixin 真的兼容 ECMAScript 5 吗?
2013/04/11 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
Python内置函数的用法实例教程
2014/09/08 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
如何理解Python中包的引入
2020/05/29 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
家得宝加拿大家装网上商店:The Home Depot加拿大
2016/08/27 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
会议主持词
2014/03/17 职场文书
聘用意向书范本
2014/04/01 职场文书
道路运输企业安全生产责任书
2014/07/28 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
房租涨价通知
2015/04/23 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
学校运动会感想
2015/08/10 职场文书
Python+tkinter实现高清图片保存
2022/03/13 Python