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字典排序实例详解
May 20 Python
Flask框架web开发之零基础入门
Dec 10 Python
对Python的多进程锁的使用方法详解
Feb 18 Python
不到40行代码用Python实现一个简单的推荐系统
May 10 Python
Django中create和save方法的不同
Aug 13 Python
python框架django项目部署相关知识详解
Nov 04 Python
Python3实现发送邮件和发送短信验证码功能
Jan 07 Python
Python3标准库之threading进程中管理并发操作方法
Mar 30 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
Python自动化测试中yaml文件读取操作
Aug 20 Python
python将YUV420P文件转PNG图片格式的两种方法
Jan 22 Python
Django基础CBV装饰器和中间件
Mar 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
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
jQuery中:first选择器用法实例
2014/12/30 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
2016/08/05 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
解决element UI 自定义传参的问题
2018/08/22 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
Vue实现简单计算器
2021/01/20 Vue.js
python合并文本文件示例
2014/02/07 Python
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
总结Python编程中函数的使用要点
2016/03/20 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
kmart凯马特官网:美国最大的打折零售商和全球最大的批发商之一
2016/11/17 全球购物
大学自我鉴定
2013/12/20 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
小学教学工作总结2015
2015/05/13 职场文书
毕业典礼致辞
2015/07/29 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技