本文实例为大家分享了python实时监控cpu的工具,供大家参考,具体内容如下

虽然写的很不完善,但是当练手吧,对于实时监控cpu还是有点用处的,虽然android studio已经提供了一样的功能,但是能够记录并生成成本地csv文件还是比as多一个功能的。

结果图:

直接放源码:

# !_*_coding:utf-8_*_

import re

import os

import wx

import thread

import pychartdir

import csv

class GetCpuStats():

def __init__(self, name):

self.pro_name = name

def startWatch(self):

_shell = 'adb shell top -s cpu -n 1| findstr %s' % self.pro_name

result = os.popen(_shell).read()

return self.getInfo(result)

def getInfo(self, _result):

return [re.findall('(\d+)%', _result), re.findall('K\s(\d+)K', _result)]

class MyFrame(wx.Frame):

flag = False

_label = []

_data = []

_label02 = []

_data02 = []

num = 0

num02 = 0

def __init__(self):

wx.Frame.__init__(self, parent=None, title=u'cpu检测小工具', pos=(700, 100), size=(500, 500))

mPanel = wx.Panel(parent=self)

mSizer = wx.BoxSizer(orient=wx.VERTICAL)

btn_start = wx.Button(parent=mPanel, label=u'开始', style=wx.EXPAND)

mSizer.Add(btn_start)

btn_stop = wx.Button(parent=mPanel, label=u'停止', style=wx.EXPAND)

mSizer.Add(btn_stop)

self.edit = wx.TextCtrl(parent=mPanel,style=wx.EXPAND,value=u'这里输入测试的包名')

mSizer.Add(self.edit,flag=wx.EXPAND)

self.edit.Bind(event=wx.EVT_CHOICE, handler=self.requestFocus)

self.bitmap_cpu = wx.StaticBitmap(parent=mPanel)

mSizer.Add(self.bitmap_cpu, flag=wx.EXPAND)

#self.bitmap_mem = wx.StaticBitmap(parent=mPanel)

#mSizer.Add(self.bitmap_mem, flag=wx.EXPAND)

mPanel.SetSizer(mSizer)

mPanel.Fit()

btn_start.Bind(event=wx.EVT_BUTTON, handler=self.startWatch)

btn_stop.Bind(event=wx.EVT_BUTTON, handler=self.stopWatch)

def requestFocus(self,event):

self.edit.SetValue("")

def startWatch(self, event):

self.flag = True

thread.start_new_thread(self.getInfo, ())

def stopWatch(self, event):

self.flag = False

def getInfo(self):

while(self.flag):

_result = GetCpuStats(self.edit.GetValue()).startWatch()

self.drawPic(_result)

#self.drawPic_mem(_result)

def writeCsv(self, _list):

writer = csv.writer(file('tmp.csv', 'a+'))

writer.writerow([_list])

def drawPic(self,_list):

self.num+=1

self._label.append(str(self.num))

self._data.append(_list[0][0])

self.writeCsv(_list[0][0])

c = pychartdir.XYChart(500, 400)

c.setPlotArea(30, 20, 400, 300)

c.addLineLayer(self._data)

c.xAxis().setLabels(self._label)

c.makeChart("tmp.png")

mImage = wx.Image("tmp.png")

mImage = mImage.Scale(500,300)

self.bitmap_cpu.SetBitmap(wx.BitmapFromImage(mImage))

def drawPic_mem(self,_list):

self.num02+=1

self._label02.append(str(self.num02))

self._data02.append(_list[1][0])

c = pychartdir.XYChart(500, 400)

c.setPlotArea(60, 40, 400, 300)

c.addLineLayer(self._data02)

c.xAxis().setLabels(self._label02)

c.makeChart("tmp02.png")

mImage = wx.Image("tmp02.png")

mImage = mImage.Scale(500,300)

self.bitmap_mem.SetBitmap(wx.BitmapFromImage(mImage))

if __name__ == '__main__':

app = wx.App()

MyFrame().Show()

app.MainLoop()

原理:

界面用wx做的,图形用pychartdir做的,命令用的是top命令,每次截取到的数据都生成一张临时图片,然后刷新到屏幕上,看起来就是实时数据监控的效果了,基本上BUG一大堆,也懒得改了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python实时监控_python实时监控cpu小工具相关推荐

  1. python分数计算器_python算法——方程计算器小工具

    python算法--方程计算器小工具 工具介绍 方程计算器小工具使用python开发,可实现三元以内一次.二次等方程的计算,包含基本计算器的功能.可用于老师.学生.家长等快速验证方程的求解,检查学生作 ...

  2. 在windows下实时监控、接受文件变化小工具

    在windows下实时监控文件变化小工具 在测试的时候,我们可能想实时监控系统打出的log信息,在unix系统上我们可以用"tail -f"实现,在windows下一般就无法做到实 ...

  3. 使用python制作读取示波器波形的GUI小工具

    使用python制作读取示波器波形的GUI小工具 1.使用python创建GUI界面,该界面可以读取CSV数据格式的示波器波形并绘制在GUI界面上 2.可以zoom缩放操作 3.源码见链接 https ...

  4. 基于python的远程监控_python远程监控

    最近用python写了一个远程监控的程序,主要功能有:1.获取系统信息 2.对屏幕进行截图,屏幕截图发送到邮箱 3.可以用摄像头获取图片,这些图片上传到七牛 4.开机自启动 # #coding by ...

  5. 把python语言翻译出来_Python语言实现翻译小工具(Python打包成exe文件)

    本文主要向大家介绍了Python语言实现翻译小工具(Python打包成exe文件),通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 1.环境 windows10 python3.5 ...

  6. python怎么把两个文件合并工具_python开发目录合并小工具 PathMerge

    前言 这个程序陆陆续续开发了几天,正好我在学Python,就一边做一边学,倒是学到不少东西. 不得不说python是快速开发的好工具. 程序做了一些改进,这两天又忙着毕设,现在才想起来发到博客上.想想 ...

  7. python图片裁剪软件_python 实现图片裁剪小工具

    实现:tkinter 画布上显示图片,按下鼠标左键并且移动,实现截图 # -*- encoding=utf-8 -*- import os import tkinter as tk from PIL ...

  8. python做游戏用什么软件_Python 与游戏测试 (小工具篇)

    最近在TesterHome游戏测试群里,有时候会看到有童鞋问,游戏测试人员学了Python,可以干点什么. 很多童鞋初学Python,学习了语法和基础类库后,开始迷茫如何实际使用到工作中去,其实Pyt ...

  9. python用tkinter实现qq_Python+Tkinter 密保小工具-阿里云开发者社区

    昨天被一同学告知,网上的一个QQ密码库中有我的一条记录,当时我就震惊了,赶紧换了密码.当然了,这件事也给了我一个警示,那就是定期的更换自己的QQ密码,会比较的安全. 然后就自己写了个密码保护的小工具. ...

最新文章

  1. python 深度 视差 计算_开源双目视觉BM算法-Matlab/Python/Javascript
  2. caffe中solver.prototxt文件参数解释
  3. learning python学习小记(一)
  4. iOS使用UIBezierPath实现ProgressView
  5. 我的WCF之旅(1):创建一个简单的WCF程序
  6. leetcode338 比特位计数
  7. 51Nod 1067:Bash游戏 V2(巴什博弈)
  8. mysql 字段有正负值的时候 sum无效_京东金融数据分析:MySQL+HIVE的结合应用案例详解...
  9. CMMI五级认证是什么?
  10. python echarts教程_ECharts 入门教程
  11. excel表格选择下拉多选_Excel下拉多个选择或删除
  12. linux qt中文输入法,解决 Ubuntu 14.04 下 Qt5 中文显示和中文输入法问题
  13. 十、生产者消费者问题
  14. 【Python】批量修改照片日期
  15. Drop Shipment PO以及Replenishment PO有何异同?
  16. 2022焊工(高级)培训试题及答案
  17. 手机web端唤醒qq客户端以及电脑web端唤醒qq客户端
  18. 为了救自己,天涯和简书做起了区块链,新闻媒体呢?
  19. 高价值制造创新智慧工厂新型能力,制造业大数据应用场景
  20. Excel表格自动转Json数据

热门文章

  1. [NOIp2017] 时间复杂度
  2. CodeForces 828C String Reconstruction(并查集思想)
  3. 百度之星2018资格赛t6三原色图(MST minimum spanning tree)
  4. html5——3D转换
  5. 基于Python-turtle库绘制哆啦A梦
  6. 低代码开发,未来已来
  7. Win10关闭系统自动更新
  8. 深入剖析Android音频(四)AudioTrack
  9. 启动另一个Activity、Service、应用程序
  10. Clojure 学习入门(3)- 数字类型