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实现把json格式转换成文本或sql文件
Jul 10 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
Sep 13 Python
Python多图片合并PDF的方法
Jan 03 Python
python读取几个G的csv文件方法
Jan 07 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 Python
python绘制多个子图的实例
Jul 07 Python
django用户登录验证的完整示例代码
Jul 21 Python
python下PyGame的下载与安装过程及遇到问题
Aug 04 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
Flask搭建一个API服务器的步骤
May 28 Python
利用Python脚本写端口扫描器socket,python-nmap
Jul 23 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
Zend Framework路由器用法实例详解
2016/12/11 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
在视频前插入广告
2006/11/20 Javascript
javascript event 事件解析
2011/01/31 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
JavaScript利用构造函数和原型的方式模拟C#类的功能
2014/03/06 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
javascript实现动态标签云
2015/10/16 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
vant实现购物车功能
2020/06/29 Javascript
python小技巧之批量抓取美女图片
2014/06/06 Python
Python文件处理
2016/02/29 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
应届生自荐信范文
2014/02/21 职场文书
文明市民先进事迹
2014/05/15 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
2014年电教工作总结
2014/12/19 职场文书
五好家庭事迹材料
2014/12/20 职场文书
个人借条范本
2015/05/25 职场文书
小学校长开学致辞
2015/07/29 职场文书
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android