python 处理top信息并画图-example

top > topinfo.txt

python 处理指定的统计信息并给出动态图,用于Linux系统debug

eg:处理cpu usage信息:

# -*- coding: gb2312 -*-

import matplotlib.pyplot as plt

filename = "./top.csv"
# 通过关键词项 确定需要提取处理的信息
key_words = ["CPU usage", "user", "sys"]


# 处理top信息
def deal_with_top_info(top_info_file):
    """输入:top >> top.txt文件
       输出:cpu使用率随时间变化表
    """
    try:
        fd = open(top_info_file, 'r', encoding='gbk')
        cpu_usage = []
        line = fd.readline()
        while line:
            if "CPU usage" in line:
                # 去除%号 后进行分词 取出CPU usage信息组成列表
                cpu_usage.append(float(line.replace('%', '').split()[2]))
            line = fd.readline()

        print(cpu_usage)

        plt.plot(range(0, len(cpu_usage)), cpu_usage)
        # plt.ylabel("CPU Usage")
        plt.show()

    except(FileNotFoundError, IOError):
        print("Fail to open top file")
        fd.close()
    finally:
        print("Top info handle Over")
        fd.close()


def handle_file_init():
    deal_with_top_info(filename)


if __name__ == "__main__":
    handle_file_init()

效果:

 需要注意的是:使用matplot画图不能使用字符串数据  一定要数字化,否则画出来的图曲线是变形的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值