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 获取et和excel的版本号
Apr 09 Python
python中实现定制类的特殊方法总结
Sep 28 Python
使用Python脚本将文字转换为图片的实例分享
Aug 29 Python
python 爬取微信文章
Jan 30 Python
如何通过雪花算法用Python实现一个简单的发号器
Jul 03 Python
对Python _取log的几种方式小结
Jul 25 Python
python+openCV调用摄像头拍摄和处理图片的实现
Aug 06 Python
基于Python的Jenkins的二次开发操作
May 12 Python
使用keras实现孪生网络中的权值共享教程
Jun 11 Python
Python应用实现处理excel数据过程解析
Jun 19 Python
利用Python实现学生信息管理系统的完整实例
Dec 30 Python
Pandas实现批量拆分与合并Excel的示例代码
May 30 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
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
Ext面向对象开发实践(续)
2008/11/18 Javascript
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
海量经典的jQuery插件集合
2010/01/12 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
Python入门篇之列表和元组
2014/10/17 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
2018/06/06 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
人力资源作业细则
2014/03/03 职场文书
司机职责范本
2014/03/08 职场文书
农村婚礼主持词
2014/03/13 职场文书
机关作风建设自查报告
2014/10/22 职场文书
服务明星事迹材料
2014/12/29 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android