最近在学习excel表格的制作,顺便结合之前学习的内容,利用python的两个模板,分别是获取系统信息的psutil,和生成excel表格的xlsxwriter。利用这两个模板将生成一个简单的excel表格,获取当时的linux系统信息,如内存状态,磁盘状态,网卡流量等。
首先psutil和xlsxwriter都是要安装的。
安装psutil
wget --no-check-certificae https://pypi.python.org/packages/e2/e1/600326635f97fee89bf8426fef14c5c29f4849c79f68fd79f433d8c1bd96/psutil-5.4.3.tar.gz
tar -xf psutil-5.4.3.tar.gz
cd psutil-5.4.3
python setup.py install
安装xlsxwriter
pip install XlsxWriter
然后开始编写脚本
#!/usr/bin/python
#-*- coding:utf-8 -*-
import psutil
import xlsxwriter
from xlsxwriter import Workbook
import time
##CPU
user_cpu_time = psutil.cpu_times().user ##获取用户时间比
cpu_number = psutil.cpu_count(logical=False) ##CPU物理个数
##内存信息
mem_total = psutil.virtual_memory().total/1048576
mem_free = psutil.virtual_memory().free/1048576
mem_used = psutil.virtual_memory().used/1048576
##磁盘信息
disk_total = psutil.disk_usage('/').total/1048576
disk_used = psutil.disk_usage('/').used/1048576
disk_free = psutil.disk_usage('/').free/1048576
##网络信息
net_in = psutil.net_io_counters().bytes_recv/1048576
net_out = psutil.net_io_counters().bytes_sent/1048576
##当前时间
time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
##建立一个列表存放获取的系统信息
text = [time,user_cpu_time,cpu_number,mem_total,mem_free,mem_used,disk_total,disk_used,disk_free,net_in,net_out]
workbook = xlsxwriter.Workbook('status.xlsx') ##建立一个excel表格
##建立一个工作表对象,也就是excel左下角的sheet1,sheet2等,这里建立了一个。
worksheet = workbook.add_worksheet()
##存放excel表格标题信息的列表
title = [u'时间',u'用户cpu时间比',u'cpu数量',u'内存总量',u'已使用内存',u'空闲内存',u'磁盘总量',u'已使用磁盘',u'空闲磁盘',u'网卡出',u'网卡入']
##建立设置单元格格式的内容,如set_border是边框加粗,set_bg_color是单元格背景颜色
format_title = workbook.add_format()
format_title.set_border(1)
format_title.set_bg_color('#cccccc')
format_text = workbook.add_format()
format_text.set_border(1)
##写入单元格操作
worksheet.set_column('A:K',20) ##设置A到K列宽度20像素
worksheet.write_row('A1',title,format_title) ##将title列表有A1开始横向写入,并且格式为format_title
worksheet.write_row('A2',text,format_text)
workbook.close() ##记得将工作表关闭
然后执行脚本就会获得一个表格文件,打开表格文件看一下
这样就可以啦。