---恢复内容开始---

1.请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为2019-04-26.log, 并且把磁盘的使用情况写到到这个文件中。

  1. import time, os
  2.  
  3. new_time = time.strftime("%Y-%m-%d")
  4. disk_status = os.popen('df -h').readlines() #readlines
  5. f = open(new_time+'.log', 'w')
  6. f.write('%s\n' % disk_status)
  7. f.flush()
  8. f.close()

read        读取整个文件

readline    读取下一行

readlines   读取整个文件到一个迭代器以供我们遍历(读取到一个list中,以供使用,比较方便)、

2.统计出每个IP的访问量有多少?(从日志文件中查找)

  1. #!/usr/bin/env python
  2. #!coding=utf-8
  3.  
  4. list = []
  5. f = open('/var/log/httpd/access_log', 'r')
  6. star = f.readlines()
  7. f.close()
  8. for i in star:
  9. ip = i.split()[0]
  10. list.append(ip)
  11. list_num = set(list)
  12. for j in list_num:
  13. num = list.count(j)
  14.  
  15. print('%s-%s' %(j, num))

3.查看网段里有多少ip地址

  1. import IPy
  2.  
  3. ip = IPy.IP('172.27.40.0/26')
  4.  
  5. for i in ip:
  6. print(i)
  7. print(ip.len())
  8.  
  9. 首先下载IPy
  10. python3 -m pip install --upgrade pip 升级pip
  11.  
  12. pip3 install IPy

4.Python监控CPU情况

  1、实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果

  2、特别注意:被监控的机器上需要支持snmp。yum install -y net-snmp*安装

  

  1. import os
  2.  
  3. def getAllitems(host):
  4. 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(
  5. '\n')[:-1]
  6. return sn1
  7.  
  8. def getDate(host):
  9. items = getAllitems(host)
  10.  
  11. date = []
  12. rate = []
  13. cpu_total = 0
  14. # us = us+ni, sy = sy + irq + sirq
  15. for item in items:
  16. float_item = float(item.split(' ')[3])
  17. cpu_total += float_item
  18. if item == items[0]:
  19. date.append(float(item.split(' ')[3]) + float(items[1].split(' ')[3]))
  20. elif item == item[2]:
  21. date.append(float(item.split(' ')[3] + items[5].split(' ')[3] + items[6].split(' ')[3]))
  22. else:
  23. date.append(float_item)
  24.  
  25. # calculate cpu usage percentage
  26. for item in date:
  27. rate.append((item / cpu_total) * 100)
  28.  
  29. mean = ['%us', '%ni', '%sy', '%id', '%wa', '%cpu_irq', '%cpu_sIRQ']
  30.  
  31. # calculate cpu usage percentage
  32.  
  33. args = [rate, mean]
  34. result = list(map(list, zip(*args))) #map()函数 是内置的函数,在Python2中返回的是列表,在Python3中返回的是迭代器。需要转换成列表形式,想要了解更多的map()运用在我的内置函数里面
  35. return result
  36.  
  37. if __name__ == '__main__':
  38. hosts = ['127.0.0.1']
  39. for host in hosts:
  40. print('==========' + host + '==========')
  41. result = getDate(host)
  42.  
  43. print('Cpu(s)'),
  44. print(result)
  45. for i in range(7):
  46. print(' %s.f%s' % (result[i][0], result[i][1]))

结果:

  1. ==========127.0.0.1==========
  2. Cpu(s)
  3. [[0.6313887286225928, '%us'], [0.0, '%ni'], [1.4108272280946212, '%sy'], [93.4923416901623, '%id'], [4.45129053678928, '%wa'], [0.0, '%cpu_irq'], [0.014151816331196046, '%cpu_sIRQ']]
  4. 0.6313887286225928.f%us
  5. 0.0.f%ni
  6. 1.4108272280946212.f%sy
  7. 93.4923416901623.f%id
  8. 4.45129053678928.f%wa
  9. 0.0.f%cpu_irq
  10. 0.014151816331196046.f%cpu_sIRQ

---恢复内容结束---

常见Python脚本的更多相关文章

  1. Python三十个常见的脚本汇总

    1.冒泡排序     2.计算x的n次方的方法     这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发.爬虫.数据分析.数据可视化.机器学习等.送给正在 ...

  2. Python脚本控制的WebDriver 常用操作 <六> 打印当前页面的title及url

    下面将使用WebDriver来答应浏览器页面的title和访问的地址信息 测试用例场景 测试中,访问1个页面然后判断其title是否符合预期是很常见的1个用例: 假设1个页面的title应该是'hel ...

  3. Python脚本控制的WebDriver 常用操作 <四> 设置浏览器大小

    下面将使用webdriver来控制浏览器窗口的大小 测试用例场景 设置浏览器窗口的大小有下面两个比较常见的用途: 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试 ...

  4. 【转】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型

    原文网址:http://www.crifan.com/python_head_meaning_for_usr_bin_python_coding_utf-8/ #!/usr/bin/python 是用 ...

  5. Python脚本控制的WebDriver 常用操作 <十六> 处理对话框

    下面将使用webdriver来处理一些页面跳出的对话框事件 测试用例场景 页面上弹出的对话框是自动化测试经常会遇到的一个问题.前端框架的对话框经常是div形式的,下面是一些常见的对话框操作事件: 打开 ...

  6. Python脚本控制的WebDriver 常用操作 <二十八> 超时设置和cookie操作

    超时设置 测试用例场景 webdriver中可以设置很多的超时时间 implicit_wait.识别对象时的超时时间.过了这个时间如果对象还没找到的话就会抛出异常 Python脚本 ff = webd ...

  7. Python脚本控制的WebDriver 常用操作 <五> 访问链接

    下面将使用webdriver来访问一个web链接 测试用例场景 测试中,经常会点击几个链接来进行操作,所以访问链接是基本的常见操作 Python脚本 from selenium import webd ...

  8. Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level(转)

    [问题] 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError: unindent does not ...

  9. 【转载】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型

    1.#!/usr/bin/python 是用来说明脚本语言是 python 的 是要用 /usr/bin下面的程序(工具)python,这个解释器,来解释 python 脚本,来运行 python 脚 ...

随机推荐

  1. DUILIB消息处理过程

    DUILIB消息处理机制 方法一. 首先窗口基类创建 CWindowWnd->Create() 调用 CWindowWnd->RegisterWindowClass() 注册 CWindo ...

  2. 豆瓣上关于<<一万小时天才理论>>一书的一个评论

    原帖地址:http://book.douban.com/review/3707543/ 这本书和其他几本关于一万小时的书一样,都是基于埃里克森和赫伯特.西蒙的“十年法则”的标志性理论,但这本书通过新的 ...

  3. js 获取链接参数的方法

    方法1: /** * 获取链接上的参数 * string 需要获取的参数名称 */ var getHref = function(string){ var reg = new RegExp(" ...

  4. Spark大型电商项目实战-及其改良(1) 比对sparkSQL和纯RDD实现的结果

    代码存在码云:https://coding.net/u/funcfans/p/sparkProject/git 代码主要学习https://blog.csdn.net/u012318074/artic ...

  5. MySQL:Download Connector/Python

    MySQL Connector / Python是用于Python平台和开发的标准化数据库驱动程序. 此外,MySQL Connector / Python 8.0支持使用MySQL Server 8 ...

  6. 前端——BOM和DOM

    要想和浏览器有交互的动作,即要继续学习DOM,BOM. JavaScript分为 ECMAScript,DOM,BOM. BOM (Browser Object Model) 是指浏览器对象模型,他使 ...

  7. Linux 下 LXD 容器搭建 Hadoop 集群

    配置要求 主机内存 4GB . 磁盘 100 GB 以上. HOST 机安装常用 Linux 发行版. Linux Container ( LXD ) 以主机 ubuntu 16.04 为例. 安装 ...

  8. 连接MySQL报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.

    MySQL time zone 时区错误 使用root用户登陆执行命令: ---> show variables like '%time_zone%'; 默认值system为美国时间:如下图: ...

  9. scipy插值与拟合

    原文链接:https://zhuanlan.zhihu.com/p/28149195 1.最小二乘拟合 实例1 import numpy as np import matplotlib.pyplot ...

  10. Apache 配置多个端口多站点(Linux)

    for apache2 configuration: by default, apache is configured 80 port for the default web site. follow ...