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之用while来循环
Oct 02 Python
Python抓取淘宝下拉框关键词的方法
Jul 08 Python
基于Python os模块常用命令介绍
Nov 03 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
解决python matplotlib imshow无法显示的问题
May 24 Python
python中不能连接超时的问题及解决方法
Jun 10 Python
python 实现提取某个索引中某个时间段的数据方法
Feb 01 Python
用python实现刷点击率的示例代码
Feb 21 Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 Python
python 使用装饰器并记录log的示例代码
Jul 12 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 Python
Python生成器传参数及返回值原理解析
Jul 22 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
德生PL550的电路分析
2021/03/02 无线电
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
PHPMailer的主要功能特点和简单使用说明
2014/02/17 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
PHP实现SMTP邮件的发送实例
2018/09/27 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
Vuex入门到上手教程
2018/06/20 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
python实现telnet客户端的方法
2015/04/15 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
python斐波那契数列的计算方法
2018/09/27 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
讲座主持词
2014/03/20 职场文书
反邪教警示教育方案
2014/05/13 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
同意迁入证明模板
2014/10/26 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
班级班风口号大全
2015/12/25 职场文书
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL