1. 程式人生 > >用python寫一個簡單的excel表格獲取當時的linux系統信息

用python寫一個簡單的excel表格獲取當時的linux系統信息

psutil 生成 之前 建立 set ces ext 流量 關閉

最近在學習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()   ##記得將工作表關閉

然後執行腳本就會獲得一個表格文件,打開表格文件看一下
技術分享圖片

這樣就可以啦。

用python寫一個簡單的excel表格獲取當時的linux系統信息