要求:
1.截止到运行一刻
2.每秒钟监测
3.绘制折线图
设计:
获取cpu的代码如下:
# 1.获取系统cpu占有率的信息
import psutil
import time
# 隔1s绘制cpu的占有率 -->持久化的保存
# 如何将时间和对应的cpu占有率去匹配
while True:
# 获取当前时间和cpu占有率
t = time.localtime()
cur_time = '%d:%d:%d' %(t.tm_hour,t.tm_min,t.tm_sec)
cpu_res = psutil.cpu_percent()
print(cpu_res)
# 保存到文件中
with open('cpu.txt','a+') as f:
f.write('%s %s \n' %(cur_time,cpu_res))
time.sleep(1)
效果如图:
停止运行后生成cpu.txt文件:
绘制折线图代码如下:
import random
from pyecharts.charts import Line
import pyecharts.options as opts
# 获取折线图需要绘制的数据信息;
x = []
y = []
with open('cpu.txt') as f: # 以读的方式打开文件
for line in f: # 依次遍历文件的每一行内容
time, per = line.split() # 返回时间和对应时间的cpu占有率
x.append(time)
y.append(per)
# 添加x和y对应的点;
line = (
Line()
.add_xaxis(x)
.add_yaxis("", y)
.set_global_opts(title_opts=opts.TitleOpts(title="Cpu占有率折线图"))
)
# 将折线图信息保存到文件中;
line.render()
效果如图:
自动生成cpu.txt及render.html文件: