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框架Flask信号机制(signals)介绍
Jan 01 Python
pymongo实现多结果进行多列排序的方法
May 16 Python
在Python的Django框架中simple-todo工具的简单使用
May 30 Python
python结合shell查询google关键词排名的实现代码
Feb 27 Python
Python实现带百分比的进度条
Jun 28 Python
python 全局变量的import机制介绍
Sep 07 Python
高质量Python代码编写的5个优化技巧
Nov 16 Python
pandas 实现字典转换成DataFrame的方法
Jul 04 Python
python 通过 socket 发送文件的实例代码
Aug 14 Python
Tensorflow分类器项目自定义数据读入的实现
Feb 05 Python
python实现全排列代码(回溯、深度优先搜索)
Feb 26 Python
Python&Matlab实现樱花的绘制
Apr 07 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数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
文档对象模型DOM通俗讲解
2013/11/01 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
谈谈对JavaScript原生拖放的深入理解
2016/09/20 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
js+canvas实现纸牌游戏
2020/03/16 Javascript
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
Python如何调用外部系统命令
2019/08/07 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
ShellScript面试题一则-ShellScript编程
2014/03/05 面试题
Linux文件操作命令都有哪些
2016/07/23 面试题
电台实习生求职信
2014/02/25 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python