常见Python脚本
---恢复内容开始---
1.请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为2019-04-26.log, 并且把磁盘的使用情况写到到这个文件中。
import time, os
new_time = time.strftime("%Y-%m-%d")
disk_status = os.popen('df -h').readlines() #readlines
f = open(new_time+'.log', 'w')
f.write('%s\n' % disk_status)
f.flush()
f.close()
read 读取整个文件
readline 读取下一行
readlines 读取整个文件到一个迭代器以供我们遍历(读取到一个list中,以供使用,比较方便)、
2.统计出每个IP的访问量有多少?(从日志文件中查找)。
#!/usr/bin/env python
#!coding=utf-8 list = []
f = open('/var/log/httpd/access_log', 'r')
star = f.readlines()
f.close()
for i in star:
ip = i.split()[0]
list.append(ip)
list_num = set(list)
for j in list_num:
num = list.count(j) print('%s-%s' %(j, num))
3.查看网段里有多少ip地址
import IPy
ip = IPy.IP('172.27.40.0/26')
for i in ip:
print(i)
print(ip.len())
首先下载IPy库
python3 -m pip install --upgrade pip 升级pip
pip3 install IPy
4.Python监控CPU情况
1、实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果
2、特别注意:被监控的机器上需要支持snmp。yum install -y net-snmp*安装
import os def getAllitems(host):
sn1 = os.popen('snmpwalk -v 2c -c public ' + host + ' ' + '.1.3.6.1.4.1.2021.11' + '|grep Raw|grep Cpu|grep -v Kernel').read().split(
'\n')[:-1]
return sn1 def getDate(host):
items = getAllitems(host) date = []
rate = []
cpu_total = 0
# us = us+ni, sy = sy + irq + sirq
for item in items:
float_item = float(item.split(' ')[3])
cpu_total += float_item
if item == items[0]:
date.append(float(item.split(' ')[3]) + float(items[1].split(' ')[3]))
elif item == item[2]:
date.append(float(item.split(' ')[3] + items[5].split(' ')[3] + items[6].split(' ')[3]))
else:
date.append(float_item) # calculate cpu usage percentage
for item in date:
rate.append((item / cpu_total) * 100) mean = ['%us', '%ni', '%sy', '%id', '%wa', '%cpu_irq', '%cpu_sIRQ'] # calculate cpu usage percentage args = [rate, mean]
result = list(map(list, zip(*args))) #map()函数 是内置的函数,在Python2中返回的是列表,在Python3中返回的是迭代器。需要转换成列表形式,想要了解更多的map()运用在我的内置函数里面
return result if __name__ == '__main__':
hosts = ['127.0.0.1']
for host in hosts:
print('==========' + host + '==========')
result = getDate(host) print('Cpu(s)'),
print(result)
for i in range(7):
print(' %s.f%s' % (result[i][0], result[i][1]))
结果:
==========127.0.0.1==========
Cpu(s)
[[0.6313887286225928, '%us'], [0.0, '%ni'], [1.4108272280946212, '%sy'], [93.4923416901623, '%id'], [4.45129053678928, '%wa'], [0.0, '%cpu_irq'], [0.014151816331196046, '%cpu_sIRQ']]
0.6313887286225928.f%us
0.0.f%ni
1.4108272280946212.f%sy
93.4923416901623.f%id
4.45129053678928.f%wa
0.0.f%cpu_irq
0.014151816331196046.f%cpu_sIRQ
---恢复内容结束---
常见Python脚本的更多相关文章
- Python三十个常见的脚本汇总
1.冒泡排序 2.计算x的n次方的方法 这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发.爬虫.数据分析.数据可视化.机器学习等.送给正在 ...
- Python脚本控制的WebDriver 常用操作 <六> 打印当前页面的title及url
下面将使用WebDriver来答应浏览器页面的title和访问的地址信息 测试用例场景 测试中,访问1个页面然后判断其title是否符合预期是很常见的1个用例: 假设1个页面的title应该是'hel ...
- Python脚本控制的WebDriver 常用操作 <四> 设置浏览器大小
下面将使用webdriver来控制浏览器窗口的大小 测试用例场景 设置浏览器窗口的大小有下面两个比较常见的用途: 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试 ...
- 【转】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型
原文网址:http://www.crifan.com/python_head_meaning_for_usr_bin_python_coding_utf-8/ #!/usr/bin/python 是用 ...
- Python脚本控制的WebDriver 常用操作 <十六> 处理对话框
下面将使用webdriver来处理一些页面跳出的对话框事件 测试用例场景 页面上弹出的对话框是自动化测试经常会遇到的一个问题.前端框架的对话框经常是div形式的,下面是一些常见的对话框操作事件: 打开 ...
- Python脚本控制的WebDriver 常用操作 <二十八> 超时设置和cookie操作
超时设置 测试用例场景 webdriver中可以设置很多的超时时间 implicit_wait.识别对象时的超时时间.过了这个时间如果对象还没找到的话就会抛出异常 Python脚本 ff = webd ...
- Python脚本控制的WebDriver 常用操作 <五> 访问链接
下面将使用webdriver来访问一个web链接 测试用例场景 测试中,经常会点击几个链接来进行操作,所以访问链接是基本的常见操作 Python脚本 from selenium import webd ...
- Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level(转)
[问题] 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError: unindent does not ...
- 【转载】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型
1.#!/usr/bin/python 是用来说明脚本语言是 python 的 是要用 /usr/bin下面的程序(工具)python,这个解释器,来解释 python 脚本,来运行 python 脚 ...
随机推荐
- LDAP&IMPLEMENTATION
LDAP是轻量目录访问协议,英文全称是LIGHTWEIGHT DIRECTORY ACCESS PROTOCOL,一般都简称为LDAPLDAP的特点1.LDAP 是一种网络协议而不是数据库,而且LDA ...
- java第三次上机
import java.util.*; class student{ String name; char sex; int age; String number; double score[]=new ...
- Linux高效数据统计命令wc
wc(world count)是一个统计文件字词,字节,行数的命令,它可以帮我们非常方便的统计以上信息. 主要参数 常见参数如下: -c 统计字节数. -l 统计行数. -m 统计字符数.这个标志不能 ...
- Python格式化字符
%s 字符串 %d 有符号整数(十进制) %f 浮点数字(用小数点符号)
- 集成学习:以Bagging、Adaboosting为例
集成学习是一大类模型融合策略和方法的统称,以下以bagging和boosting为例进行说明: 1.boosting boosting方法训练分类器采用串行的方式,每个弱分类器之间是相互依赖的,尤其后 ...
- Eclipse中tomcat启动时报jar包 it's not a class错误;
Console报错如上: 解决方法: 在Eclipse中Servers文件夹下 对应的项目文件中catalina.properties文件中tomcat.util.scan.DefaultJarSca ...
- 富文本编辑,xss攻击
富文本编辑 KindEditor 在线HTML编辑器 http://kindeditor.net/doc.php 下载成功,解压放到项目中去 查看官方文档进行操作 xss攻击 XSS攻击全称跨站脚本攻 ...
- Android中本地广播的实现
其实Android的本地广播并没有什么好讲的,他就是用了一个localbroadcastmanager类来sendbroadcast,以及注册和注销广播,没有什么特点,其中实例该类的时候用了getin ...
- Spring Boot 全文搜索引擎 ElasticSearch
参考 全文搜索引擎ElasticSearch 还是Solr? - JaJian - 博客园
- macOS在使用音视频通话时会降低其他音频声音的解决方法
在使用QQ进行通话时,背景无法播放音乐(声音过小),并且在QQ for mac中也没有进行调整的设置选项. Solution: printf "p *(char*)(void(*)())Au ...